Funksjonen spl_autoload_call

Funksjonen spl_autoload_call kaller alle registrerte autoloadere for å prøve å laste den angitte klassen. I motsetning til spl_autoload_register, som registrerer autoloadere, utfører denne funksjonen direkte deres kall. Den eneste parameteren er navnet på klassen som skal lastes.

Syntaks

phpspl_autoload_call(string $class_name): void

Eksempel

La oss prøve å laste en ikke-eksisterende klasse uten en autoloader:

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

Resultat av kjøring (feil hvis autoloadere ikke er registrert):

php// Ingenting vil skje hvis det ikke er noen registrerte autoloadere

Eksempel

La oss opprette en enkel autoloader og prøve å laste en klasse:

php<?php
spl_autoload_register(function($class) {
  echo "Prøver å laste klasse: $class\n";
});

spl_autoload_call('TestClass');
?>

Resultat av kjøring:

phpPrøver å laste klasse: TestClass

Eksempel

La oss sjekke hvordan den fungerer med flere autoloadere:

php<?php
spl_autoload_register(function($class) {
  echo "Første loader: $class\n";
});

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

spl_autoload_call('MyClass');
?>

Resultat av kjøring:

phpFørste loader: MyClass
Andre loader: MyClass

Se også