Функция spl_autoload_call
Функция spl_autoload_call указан классни юклаш учун барча рўйҳатдан ўтган автозагрузчикларни чақириб чиқаради. spl_autoload_register дан фарқли ўларок, у автозагрузчикларни рўйҳатга олади, бу функция эса тўғридан-тўғри уларнинг чақирилишини амалга оширади. Ягона параметр - юклаб олиш керак бўлган класс номи.
Синтаксис
spl_autoload_call(string $class_name): void
Мисол
Автозагрузчиксиз мавжуд бўлмаган классни юклашга ҳаракат қилайлик:
<?php
spl_autoload_call('NonExistentClass');
?>
Коднинг ишлаш натижаси (автозагрузчиклар рўйҳатдан ўтмаган бўлса, хатолик):
// Агар рўйҳатдан ўтган автозагрузчиклар бўлмаса, ҳеч нарса бўлмайди
Мисол
Оддий автозагрузчик яратиб, классни юклашга ҳаракат қилайлик:
<?php
spl_autoload_register(function($class) {
echo "Trying to load class: $class\n";
});
spl_autoload_call('TestClass');
?>
Коднинг ишлаш натижаси:
Trying to load class: TestClass
Мисол
Бир нечта автозагрузчиклар билан ишлашни текшириб кўрайлик:
<?php
spl_autoload_register(function($class) {
echo "First loader: $class\n";
});
spl_autoload_register(function($class) {
echo "Second loader: $class\n";
});
spl_autoload_call('MyClass');
?>
Коднинг ишлаш натижаси:
First loader: MyClass
Second loader: MyClass
Шунингдек қаранг
-
функция spl_autoload_register,
бу автозагрузчикни рўйҳатга олади -
функция spl_autoload_functions,
бу автозагрузчикларни қайтаради -
функция class_exists,
бу классни текширади