Funktsioon spl_autoload_register
Funktsioon spl_autoload_register registreerib antud funktsiooni klasside automaatse laadimise meetodi implementatsioonina. Kui PHP kohtab määratlemata klassi, kutsub see järjestikku välja kõik registreeritud automaatlaadimise funktsioonid, edastades neile klassi nime. Esimene parameeter - automaatlaadimise callback-funktsioon, teine parameeter (valikuline) - kas visata erand vea korral, kolmas parameeter (valikuline) - kas lisada funktsioon järjekorra algusesse.
Süntaks
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Näide
Lihtne automaatlaadimise funktsiooni registreerimine:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Nüüd saab luua objekte ilma selge include'ta
$obj = new MyClass();
?>
Näide
Anonüümse funktsiooni kasutamine automaatlaadimiseks:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Näide
Mitme automaatlaadimise funktsiooni registreerimine:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Lisame järjekorra algusesse
// PHP kutsub funktsioonid järjekorras: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Vaata ka
-
funktsiooni spl_autoload_functions,
mis tagastab automaatlaadijad -
funktsiooni spl_autoload_unregister,
mis eemaldab automaatlaadija -
funktsiooni class_exists,
mis kontrollib klassi