Kuidas töötab __autoload() funktsioon PHP-s ja mis on selle peamine eesmärk klasside automaatsel laadimisel?
sobes.tech AI
Vastus AI-lt
PHP-s __autoload() funktsioon on mõeldud klasside automaatseks laadimiseks nende esimese kasutamise ajal, ilma vajaduseta käsitsi faile include või require abil lisada.
Kui koodis leitakse kasutus klassist, mis pole veel laaditud, kutsub PHP välja __autoload() selle klassi nimega. Selle funktsiooni sees rakendatakse tavaliselt loogikat, mis otsib ja lisab faili, mis määratleb klassi.
Lihtne __autoload() rakendamise näide:
function __autoload($className) {
include_once 'classes/' . $className . '.php';
}
Kuid alates PHP 5.3 soovitatakse kasutada spl_autoload_register() funktsiooni, mis võimaldab registreerida mitu automaatlaadijat ja neid paindlikumalt hallata.
__autoload() peamine eesmärk on lihtsustada sõltuvuste haldamist ja vältida koodis mitmeid include- käske, automaatselt laadides vajalikud klassid nende kasutamise ajal.