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 функциясы,
ал классты текшерет