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