Функция 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,
қайсики классни текширади