Junior — Middle
Mire szolgál az __autoload() függvény és milyen paramétereket fogad?
sobes.tech MI
Válasz az MI-től
A PHP __autoload() függvénye automatikusan betölti az osztályokat, amikor először használják őket, ha még nem lettek deklarálva.
Egy paramétert fogad — az osztály nevét, amit be kell tölteni.
Amikor a kódban egy nem létező osztályt használnak, a PHP meghívja a __autoload($className) függvényt, ahol $className az osztály neve. A függvényben általában egy osztálydefiníciót tartalmazó fájlt csatolnak.
Példa:
function __autoload($className) {
include_once 'classes/' . $className . '.php';
}
$obj = new MyClass(); // ha a MyClass nincs betöltve, akkor a __autoload a 'MyClass'-szal lesz meghívva
Fontos: a PHP 5.3-tól kezdődően ajánlott az spl_autoload_register() használata az autoloaderek regisztrálására a __autoload() helyett.