Función spl_autoload_register
La función spl_autoload_register registra una función dada como implementación del método de autocarga de clases. Cuando PHP encuentra una clase no definida, llama secuencialmente a todas las funciones de autocarga registradas, pasándoles el nombre de la clase. El primer parámetro es una función callback para la autocarga, el segundo parámetro (opcional) es si lanzar una excepción en caso de error, el tercer parámetro (opcional) es si añadir la función al principio de la cola.
Sintaxis
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Ejemplo
Registro simple de una función de autocarga:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Ahora se pueden crear objetos sin include explícito
$obj = new MyClass();
?>
Ejemplo
Uso de una función anónima para la autocarga:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Ejemplo
Registro de múltiples funciones de autocarga:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Añadimos al principio de la cola
// PHP llamará a las funciones en el orden: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Véase también
-
la función spl_autoload_functions,
que retorna los autocargadores -
la función spl_autoload_unregister,
que elimina un autocargador -
la función class_exists,
que comprueba una clase