Sobes.tech
Junior — Middle

Kam paredzēta funkcija __autoload() un kādus parametrus tā pieņem?

sobes.tech AI

Atbilde no AI

PHP __autoload() funkcija ir paredzēta automātiskai klasēm ielādēt to pirmās lietošanas laikā, ja klase vēl nav deklarēta.

Tā pieņem vienu parametru — klases nosaukumu, kuru nepieciešams ielādēt.

Kad kodā tiek izmantota neeksistējoša klase, PHP izsauc __autoload($className), kur $className ir šīs klases nosaukums. Funkcijas iekšpusē parasti tiek iekļauts fails ar klases definīciju.

Piemērs:

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

$obj = new MyClass(); // ja MyClass vēl nav ielādēta, tiks izsaukts __autoload ar 'MyClass'

Svarīgi: no PHP 5.3 ieteicams izmantot spl_autoload_register() vietā __autoload() automātiskās ielādes reģistrēšanai.