spl_autoload_register funksiyasi
spl_autoload_register funksiyası verilmiş funksiyanı sinif avtoyükləmə metodunun realizasiyası kimi qeydiyyatdan keçirir. PHP təyin olunmamış sinifə rast gələndə, ona sinfin adını ötürərək bütün qeydiyyatdan keçmiş avtoyükləmə funksiyalarını ardıcıl olaraq çağırır. Birinci parametr - avtoyükləmə üçün callback-funksiya, ikinci parametr (isteğe bağlı) - xəta zamanı istisnanı atmaq ya yox, üçüncü parametr (isteğe bağlı) - funksiyanı növbənin əvvəlinə əlavə etmək ya yox.
Sintaksis
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Nümunə
Avtoyükləmə funksiyasının sadə qeydiyyatı:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// İndi aşkar include olmadan obyekt yaratmaq olar
$obj = new MyClass();
?>
Nümunə
Avtoyükləmə üçün anonim funksiyadan istifadə:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Nümunə
Bir neçə avtoyükləmə funksiyasının qeydiyyatı:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Növbənin əvvəlinə əlavə et
// PHP funksiyaları ardıcıllıqla çağıracaq: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Həmçinin bax
-
spl_autoload_functions funksiyası,
ki, avtoyükləyiciləri qaytarır -
spl_autoload_unregister funksiyası,
ki, avtoyükləyicini silir -
class_exists funksiyası,
ki, sinfi yoxlayır