Sobes.tech
Junior — Middle

Milleks on mõeldud funktsioon __autoload() ja milliseid parameetreid see võtab?

sobes.tech AI

Vastus AI-lt

PHP __autoload() funktsioon on mõeldud klasside automaatseks laadimiseks nende esimese kasutamise ajal, kui klass pole veel deklareeritud.

See võtab ühe parameetri — nime klass, mida tuleb laadida.

Kui koodis kasutatakse mittetegutsevat klassi, kutsub PHP välja __autoload($className), kus $className on selle klassi nimi. Funktsiooni sees tavaliselt kaasatakse fail, mis sisaldab klassi definitsiooni.

Näide:

function __autoload($className) {
    include_once 'classes/' . $className . '.php';
}

$obj = new MyClass(); // kui MyClass pole laaditud, kutsutakse välja __autoload koos 'MyClass'-ga

Oluline: alates PHP 5.3 soovitatakse kasutada spl_autoload_register() __autoload() asemel autoloaders registreerimiseks.