Funkcija spl_autoload_register
Funkcija spl_autoload_register registruje datu funkciju kao implementaciju metode za automatsko učitavanje klasa. Kada PHP naiđe na nedefinisanu klasu, on sekvencijalno poziva sve registrovane funkcije za automatsko učitavanje, prosleđujući im ime klase. Prvi parametar je callback-funkcija za automatsko učitavanje, drugi parametar (opcioni) - da li baciti izuzetak pri grešci, treći parametar (opcioni) - da li dodati funkciju na početak reda.
Sintaksa
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Primer
Jednostavna registracija funkcije za automatsko učitavanje:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Sada je moguće kreirati objekte bez eksplicitnog include
$obj = new MyClass();
?>
Primer
Korišćenje anonimne funkcije za automatsko učitavanje:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Primer
Registracija više funkcija za automatsko učitavanje:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Dodajemo na početak reda
// PHP će pozvati funkcije redom: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Pogledajte takođe
-
funkciju spl_autoload_functions,
koja vraća funkcije za automatsko učitavanje -
funkciju spl_autoload_unregister,
koja uklanja funkciju za automatsko učitavanje -
funkciju class_exists,
koja proverava klasu