A spl_autoload_register függvény
A spl_autoload_register függvény regisztrálja a megadott függvényt az osztályok automatikus betöltésére szolgáló metódusként. Amikor a PHP egy nem definiált osztályba ütközik, szekvenciálisan meghívja az összes regisztrált autoload függvényt, átadva nekik az osztály nevét. Az első paraméter az autoload callback függvény, a második paraméter (opcionális) - hogy dobjon-e kivételt hibánál, a harmadik paraméter (opcionális) - hogy a függvényt a sor elejére kell-e adni.
Szintaxis
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Példa
Egyszerű autoload függvény regisztrálása:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Most már létrehozhatunk objektumokat explicit include nélkül
$obj = new MyClass();
?>
Példa
Anonim függvény használata autoloadinghez:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Példa
Több autoload függvény regisztrálása:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Hozzáadjuk a sor elejéhez
// A PHP a függvényeket a következő sorrendben hívja: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Lásd még
-
a spl_autoload_functions függvényt,
amely visszaadja az autoloadereket -
a spl_autoload_unregister függvényt,
amely eltávolít egy autoloadert -
a class_exists függvényt,
amely ellenőrzi az osztályt