Функция spl_autoload_register
Функцията spl_autoload_register регистрира дадена функция като реализация на метод за автоматично зареждане на класове. Когато PHP срещне недефиниран клас, той последователно извиква всички регистрирани функции за автоматично зареждане, предавайки им името на класа. Първият параметър - callback-функция за автоматично зареждане, вторият параметър (незадължителен) - дали да се хвърля изключение при грешка, третият параметър (незадължителен) - дали да се добави функцията в началото на опашката.
Синтаксис
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Пример
Проста регистрация на функция за автоматично зареждане:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Сега може да се създават обекти без явно include
$obj = new MyClass();
?>
Пример
Използване на анонимна функция за автоматично зареждане:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Пример
Регистрация на няколко функции за автоматично зареждане:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Добавяме в началото на опашката
// PHP ще извиква функциите в реда: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Вижте също
-
функцията spl_autoload_functions,
която връща автоматичните зареждачи -
функцията spl_autoload_unregister,
която премахва автоматичен зареждач -
функцията class_exists,
която проверява клас