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:
- zawierać
- include_once
- wymagać
- 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