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

phpspl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);

Nümunə

Avtoyükləmə funksiyasının sadə qeydiyyatı:

php<?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<?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<?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