Funkce spl_autoload_register
Funkce spl_autoload_register registruje zadanou funkci jako implementaci metody automatického načítání tříd. Když PHP narazí na nedefinovanou třídu, postupně volá všechny registrované funkce automatického načítání a předává jim název třídy. První parametr - callback funkce pro automatické načítání, druhý parametr (volitelný) - zda vyhazovat výjimku při chybě, třetí parametr (volitelný) - zda přidat funkci na začátek fronty.
Syntaxe
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Příklad
Jednoduchá registrace funkce automatického načítání:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Nyní lze vytvářet objekty bez explicitního include
$obj = new MyClass();
?>
Příklad
Použití anonymní funkce pro automatické načítání:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Příklad
Registrace více funkcí automatického načítání:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Přidáme na začátek fronty
// PHP bude volat funkce v pořadí: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Viz také
-
funkci spl_autoload_functions,
která vrací automatické načítací funkce -
funkci spl_autoload_unregister,
která odstraní automatickou načítací funkci -
funkci class_exists,
která kontroluje třídu