Funksie spl_autoload_register
Die funksie spl_autoload_register registreer die gegewe funksie as die implementering van die outomatiese laaimetode vir klasse. Wanneer PHP 'n ongedefinieerde klas teëkom, roep dit al die geregistreerde outomatiese laaifunksies opeenvolgend aan en gee die klasnaam aan hulle deur. Die eerste parameter is die callback-funksie vir outomatiese laai, die tweede parameter (opsioneel) is of 'n uitsondering uitgeworpe moet word by 'n fout, die derde parameter (opsioneel) is of die funksie aan die begin van die tou gevoeg moet word.
Sintaksis
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Voorbeeld
Eenvoudige registrasie van 'n outomatiese laaifunksie:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Nou kan objekte geskep word sonder eksplisiete include
$obj = new MyClass();
?>
Voorbeeld
Gebruik van 'n anonieme funksie vir outomatiese laai:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Voorbeeld
Registrasie van verskeie outomatiese laaifunksies:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Voeg aan die begin van die tou by
// PHP sal funksies in volgorde aanroep: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Sien ook
-
die funksie spl_autoload_functions,
wat die outomatiese laaiers teruggee -
die funksie spl_autoload_unregister,
wat 'n outomatiese laaier verwyder -
die funksie class_exists,
wat 'n klas nagaan