Функсияи spl_autoload_call

Функсияи spl_autoload_call ҳамаи боркунандагони худкори сабтиномшударо барои кӯшиши бор кардани синфи мушаххасшуда фаро мэхонад. Бар хилофи spl_autoload_register, ки боркунандагони худкорро сабт мекунад, ин функсия бевосита даъвати онҳоро иҷро мекунад. Ягона параметр - номи синфест, ки бояд бор карда шавад.

Синтаксис

phpspl_autoload_call(string $class_name): void

Мисол

Биёед кӯшиш кунем синфи мавҷуднабударо бе боркунандаи худкор бор кунем:

php<?php
spl_autoload_call('NonExistentClass');
?>

Натиҷаи иҷрои код (хато, агар боркунандагони худкор сабтнашуда бошанд):

php// Ҳеҷ чиз рӯй намедиҳад, агар боркунандагони худкори сабтиномшуда вуҷуд надошта бошанд

Мисол

Як боркунандаи худкори сода эҷод карда, кӯшиш кунем синфро бор кунем:

php<?php
spl_autoload_register(function($class) {
  echo "Кӯшиш барои бор кардани синф: $class\n";
});

spl_autoload_call('TestClass');
?>

Натиҷаи иҷрои код:

phpКӯшиш барои бор кардани синф: TestClass

Мисол

Кори бо якчанд боркунандагони худкорро тафтиш кунем:

php<?php
spl_autoload_register(function($class) {
  echo "Боркунандаи аввал: $class\n";
});

spl_autoload_register(function($class) {
  echo "Боркунандаи дуюм: $class\n";
});

spl_autoload_call('MyClass');
?>

Натиҷаи иҷрои код:

phpБоркунандаи аввал: MyClass
Боркунандаи дуюм: MyClass

Инчунин бубинед

  • функсияи spl_autoload_register,
    ки боркунандаи худкорро сабт мекунад
  • функсияи spl_autoload_functions,
    ки боркунандагони худкорро бармегардонад
  • функсияи class_exists,
    ки синфро тафтиш мекунад