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