Funcția spl_autoload_register
Funcția spl_autoload_register înregistrează funcția dată ca implementare a metodei de auto-încărcare a claselor. Când PHP întâlnește o clasă nedefinită, apelează secvențial toate funcțiile de auto-încărcare înregistrate, transmitându-le numele clasei. Primul parametru - funcția callback pentru auto-încărcare, al doilea parametru (opțional) - să arunce excepție în caz de eroare, al treilea parametru (opțional) - să adauge funcția la începutul cozii.
Sintaxă
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Exemplu
Înregistrare simplă a unei funcții de auto-încărcare:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Acum se pot crea obiecte fără include explicit
$obj = new MyClass();
?>
Exemplu
Utilizarea unei funcții anonime pentru auto-încărcare:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Exemplu
Înregistrarea mai multor funcții de auto-încărcare:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Adăugăm la începutul cozii
// PHP va apela funcțiile în ordinea: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Vezi și
-
funcția spl_autoload_functions,
care returnează auto-încărcătoarele -
funcția spl_autoload_unregister,
care elimină un auto-încărcător -
funcția class_exists,
care verifică o clasă