Auto Loading in PHP

Cel: Aby dowiedzieć się, jak możemy użyć dowolnej instancji klasy bez uwzględnienia pliku klasy. Ogólnie, jeśli chcemy użyć instancji dowolnej klasy, najpierw musimy dołączyć plik klasy do dowolnej funkcji 4:

  1. zawierać
  2. include_once
  3. wymagać
  4. wymagają raz

Jak poniżej

// uwzględniono wszystkie klasy wymagające „klas / Testing1.php”; wymagają „klas / Testowania2.php”; // teraz używając funkcjonalności klasy $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = nowy Testing2; echo $ testing2-> a;

Ale jeśli jest wiele klas, których chcemy użyć, będziemy musieli uwzględnić wszystkie pliki, aby móc utworzyć instancję klasy. Przypuśćmy, że jeśli są setki klas, będziemy musieli uwzględnić wszystkie i zajmie to dużo czasu i przestrzeni. Aby przezwyciężyć ten problem, możemy użyć poniższego kodu:

funkcja auto_loader ($ class) {$ file = "classes / {$ class} .php"; // ścieżka wszystkich klas // sprawdzi, czy plik istnieje if (is_file ($ file)) {// w końcu, jeśli plik istnieje, będzie zawierał plik include $ file; }} // Aby zarejestrować auto_loader (), aby wywołać tę funkcję sekwencyjnie, gdy nowa klasa zostanie zadeklarowana spl_autoload_register ("auto_loader"); // teraz używając funkcjonalności klasy $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = nowy Testing2; echo $ testing2-> a;

Używając powyższego kodu, wymagana klasa zostanie dołączona automatycznie podczas używania klasy. Nie obejmuje innych klas, które nie są wymagane. Struktura pliku:

klasy index.php / Testing1.php classes / Testing2.php


Akash Roshan

Akash is a PHP developer and wants to share his knowledge through Blogs. He is currently growing in the IT industry while fulfilling his own goals.

Leave a Reply

Your email address will not be published. Required fields are marked *