Funktionen spl_autoload_register
Funktionen spl_autoload_register registrerer en given funktion som implementering af metoden til automatisk at indlæse klasser. Når PHP støder på en ikke-defineret klasse, kalder den sekventielt alle registrerede autoload-funktioner og sender dem klassens navn. Den første parameter er en callback-funktion til autoload, den anden parameter (valgfri) er om der skal kastes en undtagelse ved fejl, den tredje parameter (valgfri) er om funktionen skal tilføjes i starten af køen.
Syntaks
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Eksempel
Simpel registrering af en autoload-funktion:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Nu kan objekter oprettes uden eksplicit include
$obj = new MyClass();
?>
Eksempel
Brug af anonym funktion til autoload:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Eksempel
Registrering af flere autoload-funktioner:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Tilføj i starten af køen
// PHP vil kalde funktionerne i rækkefølgen: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Se også
-
funktionen spl_autoload_functions,
som returnerer autoloadere -
funktionen spl_autoload_unregister,
som fjerner en autoloader -
funktionen class_exists,
som tjekker en klasse