Fungsi spl_autoload_register
Fungsi spl_autoload_register mendaftarkan fungsi yang diberikan sebagai implementasi metode pemuatan otomatis kelas. Ketika PHP menemukan kelas yang tidak terdefinisi, ia secara berurutan memanggil semua fungsi pemuatan otomatis yang terdaftar, meneruskan nama kelas kepada mereka. Parameter pertama - fungsi callback untuk pemuatan otomatis, parameter kedua (opsional) - apakah akan melemparkan pengecualian saat error, parameter ketiga (opsional) - apakah akan menambahkan fungsi di awal antrian.
Sintaks
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Contoh
Pendaftaran sederhana fungsi pemuatan otomatis:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Sekarang dapat membuat objek tanpa include eksplisit
$obj = new MyClass();
?>
Contoh
Penggunaan fungsi anonim untuk pemuatan otomatis:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Contoh
Pendaftaran beberapa fungsi pemuatan otomatis:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Menambahkan di awal antrian
// PHP akan memanggil fungsi dalam urutan: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Lihat juga
-
fungsi spl_autoload_functions,
yang mengembalikan pemuat otomatis -
fungsi spl_autoload_unregister,
yang menghapus pemuat otomatis -
fungsi class_exists,
yang memeriksa kelas