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 { 
}