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
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Örnek
Basit bir otomatik yükleme fonksiyonu kaydı:
<?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
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
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
-
spl_autoload_functions fonksiyonu,
otomatik yükleyicileri döndürür -
spl_autoload_unregister fonksiyonu,
otomatik yükleyiciyi kaldırır -
class_exists fonksiyonu,
sınıfı kontrol eder