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