Функция 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,
которая проверяет класс