Funkcija spl_autoload_call

Funkcija spl_autoload_call izsauc visus reģistrētos automātiskās ielādes mehānismus, lai mēģinātu ielādēt norādīto klasi. Atšķirībā no spl_autoload_register, kas reģistrē automātiskās ielādes mehānismus, šī funkcija tieši izsauc tos. Vienīgais parametrs ir nosaukums klasei, kas jāielādē.

Sintakse

phpspl_autoload_call(string $class_name): void

Piemērs

Mēģināsim ielādēt neesošu klasi bez automātiskās ielādes mehānisma:

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

Koda izpildes rezultāts (kļūda, ja nav reģistrētu automātiskās ielādes mehānismu):

php// Nekas nenotiks, ja nav reģistrētu automātiskās ielādes mehānismu

Piemērs

Izveidosim vienkāršu automātiskās ielādes mehānismu un mēģināsim ielādēt klasi:

php<?php
spl_autoload_register(function($class) {
  echo "Mēģinu ielādēt klasi: $class\n";
});

spl_autoload_call('TestClass');
?>

Koda izpildes rezultāts:

phpMēģinu ielādēt klasi: TestClass

Piemērs

Pārbaudīsim darbību ar vairākiem automātiskās ielādes mehānismiem:

php<?php
spl_autoload_register(function($class) {
  echo "Pirmais ielādes mehānisms: $class\n";
});

spl_autoload_register(function($class) {
  echo "Otrais ielādes mehānisms: $class\n";
});

spl_autoload_call('MyClass');
?>

Koda izpildes rezultāts:

phpPirmais ielādes mehānisms: MyClass
Otrais ielādes mehānisms: MyClass

Skatiet arī