Funktionen spl_autoload_call

Funktionen spl_autoload_call kalder alle registrerede autoloadere i et forsøg på at indlæse den angivne klasse. I modsætning til spl_autoload_register, som registrerer autoloadere, udfører denne funktion direkte kald til dem. Den eneste parameter er navnet på den klasse, der skal indlæses.

Syntaks

phpspl_autoload_call(string $class_name): void

Eksempel

Lad os prøve at indlæse en ikke-eksisterende klasse uden en autoloader:

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

Resultat af kodeudførelse (fejl, hvis der ikke er registreret nogen autoloadere):

php// Intet vil ske, hvis der ikke er nogen registrerede autoloadere

Eksempel

Lad os oprette en simpel autoloader og prøve at indlæse en klasse:

php<?php
spl_autoload_register(function($class) {
  echo "Forsøger at indlæse klasse: $class\n";
});

spl_autoload_call('TestClass');
?>

Resultat af kodeudførelse:

phpForsøger at indlæse klasse: TestClass

Eksempel

Lad os tjekke funktionaliteten med flere autoloadere:

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

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

spl_autoload_call('MyClass');
?>

Resultat af kodeudførelse:

phpFørste loader: MyClass
Anden loader: MyClass

Se også