Funksjonen spl_autoload_register
Funksjonen spl_autoload_register registrerer en gitt funksjon som implementasjon av metoden for automatisk lasting av klasser. Når PHP møter en udefinert klasse, kaller den sekvensielt alle registrerte funksjoner for automatisk lasting, og sender dem klassenavnet. Den første parameteren er en callback-funksjon for automatisk lasting, den andre parameteren (valgfri) er om det skal kastes et unntak ved feil, den tredje parameteren (valgfri) er om funksjonen skal legges til i starten av køen.
Syntaks
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Eksempel
Enkel registrering av en funksjon for automatisk lasting:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Nå kan man opprette objekter uten eksplisitt include
$obj = new MyClass();
?>
Eksempel
Bruk av anonym funksjon for automatisk lasting:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Eksempel
Registrering av flere funksjoner for automatisk lasting:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Legger til i starten av køen
// PHP vil kalle funksjonene i rekkefølgen: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Se også
-
funksjonen spl_autoload_functions,
som returnerer de automatiske innlasterne -
funksjonen spl_autoload_unregister,
som fjerner en automatisk innlaster -
funksjonen class_exists,
som sjekker en klasse