Função spl_autoload_call

A função spl_autoload_call chama todos os autoloaders registrados para tentar carregar a classe especificada. Diferente de spl_autoload_register, que registra autoloaders, esta função executa diretamente sua chamada. O único parâmetro é o nome da classe que precisa ser carregada.

Sintaxe

phpspl_autoload_call(string $class_name): void

Exemplo

Vamos tentar carregar uma classe inexistente sem autoloader:

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

Resultado da execução do código (erro, se não houver autoloaders registrados):

php// Nada acontecerá se não houver autoloaders registrados

Exemplo

Vamos criar um autoloader simples e tentar carregar uma classe:

php<?php
spl_autoload_register(function($class) {
  echo "Tentando carregar a classe: $class\n";
});

spl_autoload_call('TestClass');
?>

Resultado da execução do código:

phpTentando carregar a classe: TestClass

Exemplo

Vamos verificar o funcionamento com múltiplos autoloaders:

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

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

spl_autoload_call('MyClass');
?>

Resultado da execução do código:

phpPrimeiro loader: MyClass
Segundo loader: MyClass

Veja também