Funktionen spl_autoload_call

Funktionen spl_autoload_call anropar alla registrerade autoloaders för att försöka ladda den angivna klassen. Till skillnad från spl_autoload_register, som registrerar autoloaders, utför denna funktion direkt deras anrop. Den enda parametern är namnet på klassen som behöver laddas.

Syntax

phpspl_autoload_call(string $class_name): void

Exempel

Låt oss försöka ladda en icke-existerande klass utan autoloader:

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

Resultat av kodkörning (fel, om inga autoloaders är registrerade):

php// Inget händer om det inte finns några registrerade autoloaders

Exempel

Låt oss skapa en enkel autoloader och försöka ladda en klass:

php<?php
spl_autoload_register(function($class) {
  echo "Försöker ladda klass: $class\n";
});

spl_autoload_call('TestClass');
?>

Resultat av kodkörning:

phpFörsöker ladda klass: TestClass

Exempel

Låt oss kontrollera hur det fungerar med flera autoloaders:

php<?php
spl_autoload_register(function($class) {
  echo "Första loadern: $class\n";
});

spl_autoload_register(function($class) {
  echo "Andra loadern: $class\n";
});

spl_autoload_call('MyClass');
?>

Resultat av kodkörning:

phpFörsta loadern: MyClass
Andra loadern: MyClass

Se även