Funzione spl_autoload_call

La funzione spl_autoload_call chiama tutti gli autoloader registrati per tentare di caricare la classe specificata. A differenza di spl_autoload_register, che registra gli autoloader, questa funzione esegue direttamente la loro chiamata. L'unico parametro è il nome della classe da caricare.

Sintassi

phpspl_autoload_call(string $class_name): void

Esempio

Proviamo a caricare una classe inesistente senza autoloader:

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

Risultato dell'esecuzione del codice (errore, se non ci sono autoloader registrati):

php// Non succederà nulla se non ci sono autoloader registrati

Esempio

Creiamo un semplice autoloader e proviamo a caricare una classe:

php<?php
spl_autoload_register(function($class) {
  echo "Tentativo di caricare la classe: $class\n";
});

spl_autoload_call('TestClass');
?>

Risultato dell'esecuzione del codice:

phpTentativo di caricare la classe: TestClass

Esempio

Verifichiamo il funzionamento con più autoloader:

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

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

spl_autoload_call('MyClass');
?>

Risultato dell'esecuzione del codice:

phpPrimo loader: MyClass
Secondo loader: MyClass

Vedi anche