Funktio spl_autoload_call

Funktio spl_autoload_call kutsuu kaikkia rekisteröityjä autoloadereita yrittääkseen ladata määritetyn luokan. Toisin kuin spl_autoload_register, joka rekisteröi autoloaderit, tämä funktio suorittaa niiden kutsun suoraan. Ainoa parametri on ladattavan luokan nimi.

Syntaksi

phpspl_autoload_call(string $class_name): void

Esimerkki

Yritetään ladata olematonta luokkaa ilman autoloaderia:

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

Koodin suorituksen tulos (virhe, jos autoloadereita ei ole rekisteröity):

php// Mitään ei tapahdu, jos ei ole rekisteröityjä autoloadereita

Esimerkki

Luodaan yksinkertainen autoloader ja yritetään ladata luokka:

php<?php
spl_autoload_register(function($class) {
  echo "Yritetään ladata luokkaa: $class\n";
});

spl_autoload_call('TestClass');
?>

Koodin suorituksen tulos:

phpYritetään ladata luokkaa: TestClass

Esimerkki

Tarkastetaan toiminta useiden autoloadereiden kanssa:

php<?php
spl_autoload_register(function($class) {
  echo "Ensimmäinen loader: $class\n";
});

spl_autoload_register(function($class) {
  echo "Toinen loader: $class\n";
});

spl_autoload_call('MyClass');
?>

Koodin suorituksen tulos:

phpEnsimmäinen loader: MyClass
Toinen loader: MyClass

Katso myös