Função spl_autoload_register
A função spl_autoload_register registra uma determinada função como implementação do método de carregamento automático de classes. Quando o PHP encontra uma classe não definida, ele chama sequencialmente todas as funções de carregamento automático registradas, passando o nome da classe. O primeiro parâmetro é a função callback para carregamento automático, o segundo parâmetro (opcional) é se deve lançar uma exceção em caso de erro, o terceiro parâmetro (opcional) é se deve adicionar a função no início da fila.
Sintaxe
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Exemplo
Registro simples de uma função de carregamento automático:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Agora é possível criar objetos sem include explícito
$obj = new MyClass();
?>
Exemplo
Usando função anônima para carregamento automático:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Exemplo
Registrando múltiplas funções de carregamento automático:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Adiciona no início da fila
// O PHP chamará as funções na ordem: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Veja também
-
a função spl_autoload_functions,
que retorna os carregadores automáticos -
a função spl_autoload_unregister,
que remove um carregador automático -
a função class_exists,
que verifica uma classe