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

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

Contoh

Pendaftaran mudah fungsi pemuatan automatik:

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

Contoh

Mendaftarkan berbilang fungsi pemuatan automatik:

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