Funkcija spl_autoload_register
Funkcija spl_autoload_register registrira dano funkcijo kot implementacijo metode za avtomatsko nalaganje razredov. Ko PHP naleti na nedefiniran razred, zaporedno kliče vse registrirane funkcije za avtomatsko nalaganje in jim posreduje ime razreda. Prvi parameter je callback-funkcija za avtomatsko nalaganje, drugi parameter (neobvezen) - ali naj vrže izjemo pri napaki, tretji parameter (neobvezen) - ali naj doda funkcijo na začetek čakalne vrste.
Sintaksa
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Primer
Preprosta registracija funkcije za avtomatsko nalaganje:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Zdaj je mogoče ustvarjati objekte brez eksplicitnega include
$obj = new MyClass();
?>
Primer
Uporaba anonimne funkcije za avtomatsko nalaganje:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Primer
Registracija več funkcij za avtomatsko nalaganje:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Dodamo na začetek čakalne vrste
// PHP bo klical funkcije v vrstnem redu: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Glejte tudi
-
funkcijo spl_autoload_functions,
ki vrne avtomatske nalagalnike -
funkcijo spl_autoload_unregister,
ki odstrani avtomatski nalagalnik -
funkcijo class_exists,
ki preveri razred