Funkcia spl_autoload_register
Funkcia spl_autoload_register registruje zadanú funkciu ako implementáciu metódy automatického načítania tried. Keď PHP narazí na nedefinovanú triedu, postupne volá všetky registrované funkcie automatického načítania, odovzdávajúc im názov triedy. Prvý parameter - callback funkcia pre automatické načítanie, druhý parameter (voliteľný) - či vyhodiť výnimku pri chybe, tretí parameter (voliteľný) - či pridať funkciu na začiatok frontu.
Syntax
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Príklad
Jednoduchá registrácia funkcie automatického načítania:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Teraz je možné vytvárať objekty bez explicitného include
$obj = new MyClass();
?>
Príklad
Použitie anonymnej funkcie pre automatické načítanie:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Príklad
Registrácia viacerých funkcií automatického načítania:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Pridáme na začiatok frontu
// PHP bude volať funkcie v poradí: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Pozrite tiež
-
funkciu spl_autoload_functions,
ktorá vracia automatické načítavače -
funkciu spl_autoload_unregister,
ktorá odstraňuje automatický načítavač -
funkciu class_exists,
ktorá kontroluje triedu