Funkcija spl_autoload_register
Funkcija spl_autoload_register reģistrē norādīto funkciju kā metodi klašu automātiskai ielādei. Kad PHP saskaras ar nedefinētu klasi, tas secīgi izsauca visus reģistrētos automātiskās ielādes veidotus, padodot tiem klases nosaukumu. Pirmais parametrs - callback-funkcija automātiskai ielādei, otrais parametrs (neobligāts) - vai izmest izņēmumu kļūdas gadījumā, trešais parametrs (neobligāts) - vai pievienot funkciju rindas sākumā.
Sintakse
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Piemērs
Vienkārša automātiskās ielādes funkcijas reģistrācija:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Tagad var izveidot objektus bez skaidras include
$obj = new MyClass();
?>
Piemērs
Anonīmas funkcijas izmantošana automātiskai ielādei:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Piemērs
Vairāku automātiskās ielādes funkciju reģistrācija:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Pievienojam rindas sākumā
// PHP izsauks funkcijas secībā: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Skatiet arī
-
funkciju spl_autoload_functions,
kas atgriež automātiskās ielādes veidotus -
funkciju spl_autoload_unregister,
kas noņem automātiskās ielādes veidotu -
funkciju class_exists,
kas pārbauda klasi