Sobes.tech
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.