spl_autoload_register Fonksiyonu

spl_autoload_register fonksiyonu, verilen fonksiyonu sınıf otomatik yükleme yöntemi uygulaması olarak kaydeder. PHP tanımlanmamış bir sınıfla karşılaştığında, sırayla kayıtlı tüm otomatik yükleme fonksiyonlarını çağırır ve onlara sınıf adını iletir. İlk parametre - otomatik yükleme için callback fonksiyonu, ikinci parametre (isteğe bağlı) - hata durumunda istisna fırlatılıp fırlatılmayacağı, üçüncü parametre (isteğe bağlı) - fonksiyonu kuyruğun başına ekleyip eklemeyeceği.

Sözdizimi

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

Örnek

Basit bir otomatik yükleme fonksiyonu kaydı:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Artık açıkça include yapmadan nesneler oluşturulabilir
  $obj = new MyClass();
?>

Örnek

Otomatik yükleme için anonim fonksiyon kullanımı:

php<?php
  spl_autoload_register(function ($class) {
    include 'lib/' . str_replace('\\', '/', $class) . '.php';
  });
  
  $obj = new Some\Namespace\MyClass();
?>

Örnek

Birden fazla otomatik yükleme fonksiyonunun kaydedilmesi:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Kuyruğun başına ekle
  
  // PHP fonksiyonları şu sırayla çağıracak: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Ayrıca Bakınız