Funktion spl_autoload_call

Die Funktion spl_autoload_call ruft alle registrierten Autoloader auf, um zu versuchen, die angegebene Klasse zu laden. Im Gegensatz zu spl_autoload_register, die Autoloader registriert, führt diese Funktion deren Aufruf direkt aus. Der einzige Parameter ist der Name der Klasse, die geladen werden soll.

Syntax

phpspl_autoload_call(string $class_name): void

Beispiel

Versuchen wir, eine nicht existierende Klasse ohne Autoloader zu laden:

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

Ergebnis der Codeausführung (Fehler, wenn keine Autoloader registriert sind):

php// Nichts passiert, wenn keine registrierten Autoloader vorhanden sind

Beispiel

Erstellen wir einen einfachen Autoloader und versuchen, eine Klasse zu laden:

php<?php
spl_autoload_register(function($class) {
  echo "Trying to load class: $class\n";
});

spl_autoload_call('TestClass');
?>

Ergebnis der Codeausführung:

phpTrying to load class: TestClass

Beispiel

Überprüfen wir die Arbeit mit mehreren Autoloadern:

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

Ergebnis der Codeausführung:

phpFirst loader: MyClass
Second loader: MyClass

Siehe auch