ფუნქცია 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 "Trying to load class: $class\n";
});

spl_autoload_call('TestClass');
?>

კოდის შესრულების შედეგი:

phpTrying to load class: TestClass

მაგალითი

შევამოწმოთ მუშაობა რამდენიმე ავტოდატვირთვით:

php<?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');
?>

კოდის შესრულების შედეგი:

phpFirst loader: MyClass
Second loader: MyClass

ასევე იხილეთ

  • ფუნქცია spl_autoload_register,
    რომელიც რეგისტრირებს ავტოდატვირთვას
  • ფუნქცია spl_autoload_functions,
    რომელიც აბრუნებს ავტოდატვირთვებს
  • ფუნქცია class_exists,
    რომელიც ამოწმებს კლასს