Junior — Middle
Jak funguje funkce __autoload() v PHP a jaký je její hlavní účel při automatickém načítání tříd?
sobes.tech AI
Odpověď od AI
Funkce __autoload() v PHP je určena k automatickému načítání tříd při jejich prvním použití, bez nutnosti ručního vkládání souborů pomocí include nebo require.
Když v kódu narazíme na použití třídy, která ještě nebyla načtena, PHP zavolá __autoload() s názvem této třídy. V rámci této funkce se obvykle implementuje logika pro hledání a načítání souboru s definicí třídy.
Příklad jednoduché implementace __autoload():
function __autoload($className) {
include_once 'classes/' . $className . '.php';
}
Od PHP 5.3 se však doporučuje používat spl_autoload_register(), který umožňuje registrovat více autoloaders a spravovat je flexibilněji.
Hlavním cílem __autoload() je zjednodušit správu závislostí a vyhnout se mnoha include v kódu, načítáním potřebných tříd automaticky podle jejich použití.