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