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
spl_autoload_call(string $class_name): void
Exemplo
Vamos tentar carregar uma classe inexistente sem autoloader:
<?php
spl_autoload_call('NonExistentClass');
?>
Resultado da execução do código (erro, se não houver autoloaders registrados):
// Nada acontecerá se não houver autoloaders registrados
Exemplo
Vamos criar um autoloader simples e tentar carregar uma classe:
<?php
spl_autoload_register(function($class) {
echo "Tentando carregar a classe: $class\n";
});
spl_autoload_call('TestClass');
?>
Resultado da execução do código:
Tentando carregar a classe: TestClass
Exemplo
Vamos verificar o funcionamento com múltiplos autoloaders:
<?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:
Primeiro loader: MyClass
Segundo loader: MyClass
Veja também
-
a função spl_autoload_register,
que registra um autoloader -
a função spl_autoload_functions,
que retorna os autoloaders -
a função class_exists,
que verifica uma classe