CodeIgniter - Biblioteki
Zasadniczą częścią frameworka CodeIgniter są jego biblioteki. Udostępnia bogaty zestaw bibliotek, które pośrednio zwiększają szybkość tworzenia aplikacji. Biblioteka systemowa znajduje się w system / libraries. Wszystko, co musimy zrobić, to załadować bibliotekę, z której chcemy korzystać. Bibliotekę można załadować, jak pokazano poniżej -
$this->load->library('class name');
Gdzie class nameto nazwa biblioteki, którą chcemy załadować. Jeśli chcemy załadować wiele bibliotek, możemy po prostu przekazać tablicę jako argumentlibrary() funkcja, jak pokazano poniżej -
$this->load->library(array('email', 'table'));
Klasy biblioteczne
Klasy biblioteki znajdują się w system/libraries. Każda klasa ma różne funkcje ułatwiające pracę programistyczną. Poniższa tabela przedstawia nazwy klas biblioteki i jej opis.
SN | Klasa i opis biblioteki |
---|---|
1 | Benchmarking Class Klasa porównawcza jest zawsze aktywna, umożliwiając obliczenie różnicy czasu między dowolnymi dwoma zaznaczonymi punktami. |
2 | Caching Class Ta klasa będzie buforować strony, aby szybko uzyskać dostęp do szybkości strony. |
3 | Calendaring Class Korzystając z tej klasy, możesz dynamicznie tworzyć kalendarze. |
4 | Shopping Cart Class Korzystając z tej klasy, możesz dodać lub usunąć przedmiot z koszyka. Pozycje są zapisywane w sesji i pozostaną aktywne do czasu przeglądania strony przez użytkownika. |
5 | Config Class Korzystając z tej klasy, można pobrać preferencje konfiguracji. Ta klasa jest inicjowana automatycznie. |
6 | Email Class Ta klasa zapewnia funkcje związane z wiadomościami e-mail, takie jak wysyłanie lub odpowiadanie na wiadomości e-mail. |
7 | Encryption Class Ta klasa zapewnia dwukierunkowe szyfrowanie danych. |
8 | File Uploading Class Ta klasa udostępnia funkcje związane z przesyłaniem plików. Możesz ustawić różne preferencje, takie jak typ przesyłanego pliku, rozmiar plików itp. |
9 | Form Validation Class Ta klasa udostępnia różne funkcje do walidacji formularza. |
10 | FTP Class Ta klasa udostępnia różne funkcje związane z FTP, takie jak przesyłanie plików w celu usunięcia serwera, przenoszenie, zmiana nazwy lub usuwanie plików na serwerze. |
11 | Image Manipulation Class Manipulowanie obrazem, takie jak zmiana rozmiaru, tworzenie miniatur, kadrowanie, obracanie, znak wodny można wykonać za pomocą tej klasy. |
12 | Input Class Ta klasa wstępnie przetwarza dane wejściowe ze względów bezpieczeństwa. |
13 | Language Class Ta klasa jest używana do internacjonalizacji. |
14 | Loader Class Ta klasa ładuje elementy, takie jak pliki widoku, sterowniki, pomoce, modele itp. |
15 | Migrations Class Ta klasa udostępnia funkcje związane z migracjami baz danych. |
16 | Output Class Ta klasa wysyła dane wyjściowe do przeglądarki, a także buforuje tę stronę internetową. |
17 | Pagination Class Ta klasa dodaje funkcje paginacji do strony internetowej. |
18 | Template Parser Class Klasa Template Parser może wykonywać proste podstawianie tekstu dla pseudozmiennych zawartych w plikach widoku. Potrafi analizować proste zmienne lub pary zmiennych. |
19 | Security Class Ta klasa zawiera funkcje związane z bezpieczeństwem, takie jak filtrowanie XSS, CSRF itp. |
20 | Session Library Ta klasa zapewnia funkcje do utrzymywania sesji aplikacji. |
21 | HTML Table Ta klasa służy do automatycznego generowania tabel HTML na podstawie wyników tablicy lub bazy danych. |
22 | Trackback Class Klasa Trackback udostępnia funkcje umożliwiające wysyłanie i odbieranie danych Trackback. |
23 | Typography Class Klasa Typography udostępnia metody, które pomagają w formatowaniu tekstu. |
24 | Unit Testing Class Ta klasa zapewnia funkcje do testowania jednostkowego aplikacji i generowania wyniku. |
25 | URI Class Klasa URI udostępnia metody, które pomagają w pobieraniu informacji z ciągów identyfikatorów URI. Jeśli używasz routingu URI, możesz również pobrać informacje o przekierowanych segmentach. |
26 | User Agent Class Klasa User Agent zapewnia funkcje, które pomagają zidentyfikować informacje o przeglądarce, urządzeniu mobilnym lub robocie odwiedzającym Twoją witrynę. Ponadto możesz uzyskać informacje o stronie odsyłającej, a także o języku i obsługiwanym zestawie znaków. |
27 | XML-RPC and XML-RPC Server Classes Klasy XML-RPC w CodeIgniter pozwalają na wysyłanie żądań do innego serwera lub skonfigurowanie własnego serwera XML-RPC do odbierania żądań. |
28 | Zip Encoding Class Ta klasa służy do tworzenia archiwów zip Twoich danych. |
Tworzenie bibliotek
CodeIgniter posiada bogaty zestaw bibliotek, które można znaleźć w system/libraries folder, ale CodeIgniter nie ogranicza się tylko do bibliotek systemowych, możesz także tworzyć własne biblioteki, które można przechowywać w application/librariesteczka. Biblioteki można tworzyć na trzy sposoby.
- Utwórz nową bibliotekę
- Rozszerz bibliotekę natywną
- Zastąp bibliotekę natywną
Utwórz nową bibliotekę
Tworząc nową bibliotekę należy pamiętać o następujących rzeczach -
- Nazwa pliku musi zaczynać się od dużej litery, np. Mylibrary.php
- Nazwa klasy musi zaczynać się od dużej litery, np. Class Mylibrary
- Nazwa klasy i nazwa pliku muszą być zgodne.
Mylibrary.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Mylibrary {
public function some_function() {
}
}
/* End of file Mylibrary.php */
Loading the Custom Library
Powyższą bibliotekę można załadować, po prostu wykonując następujący wiersz w kontrolerze.
$this->load->library(‘mylibrary’);
mylibrary to nazwa Twojej biblioteki, którą możesz zapisać zarówno małymi, jak i dużymi literami. Użyj nazwy biblioteki bez rozszerzenia „.php”. Po załadowaniu biblioteki możesz również wywołać funkcję tej klasy, jak pokazano poniżej.
$this->mylibrary->some_function();
Rozszerz bibliotekę natywną
Czasami może być konieczne dodanie własnej funkcjonalności do biblioteki dostarczonej przez CodeIgniter. CodeIgniter zapewnia narzędzie, dzięki któremu możesz rozszerzyć natywną bibliotekę i dodać własne funkcje. Aby to osiągnąć, należy rozszerzyć klasę rodzimej klasy biblioteki. Na przykład, jeśli chcesz rozszerzyć bibliotekę poczty e-mail, możesz to zrobić, jak pokazano poniżej -
Class MY_Email extends CI_Email {
}
Tutaj, w powyższym przykładzie, klasa MY_Email rozszerza klasę poczty e-mail CI_Email biblioteki natywnej. Bibliotekę tę można załadować standardowym sposobem ładowania biblioteki poczty elektronicznej. Zapisz powyższy kod w pliku My_Email.php
Zastąp bibliotekę natywną
W niektórych sytuacjach nie chcesz używać natywnej biblioteki w sposób, w jaki działa i chcesz ją zastąpić na swój własny sposób. Można to zrobić, zastępując bibliotekę natywną. Aby to osiągnąć, wystarczy podać taką samą nazwę klasy, jak w bibliotece natywnej. Na przykład, jeśli chcesz zastąpić plikEmail class, a następnie użyj kodu, jak pokazano poniżej. Zapisz nazwę pliku wEmail.php i nadaj nazwę klasy CI_Email.
Email.php
Class CI_Email {
}