Fungsi spl_autoload_register
Fungsi spl_autoload_register mendaftarkan fungsi yang diberikan sebagai pelaksanaan kaedah pemuatan automatik kelas. Apabila PHP menemui kelas yang tidak ditakrifkan, ia secara berurutan memanggil semua fungsi pemuatan automatik yang didaftarkan, menghantar nama kelas kepada mereka. Parameter pertama - fungsi callback untuk pemuatan automatik, parameter kedua (pilihan) - sama ada untuk melontar pengecualian jika berlaku ralat, parameter ketiga (pilihan) - sama ada untuk menambahkan fungsi di awal barisan.
Sintaks
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
Contoh
Pendaftaran mudah fungsi pemuatan automatik:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// Sekarang boleh mencipta objek tanpa include yang jelas
$obj = new MyClass();
?>
Contoh
Menggunakan fungsi tanpa nama untuk pemuatan automatik:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
Contoh
Mendaftarkan berbilang fungsi pemuatan automatik:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // Tambah di awal barisan
// PHP akan memanggil fungsi mengikut urutan: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
Lihat juga
-
fungsi spl_autoload_functions,
yang mengembalikan pemuat automatik -
fungsi spl_autoload_unregister,
yang memadam pemuat automatik -
fungsi class_exists,
yang menyemak kelas