A spl_autoload_register függvény

A spl_autoload_register függvény regisztrálja a megadott függvényt az osztályok automatikus betöltésére szolgáló metódusként. Amikor a PHP egy nem definiált osztályba ütközik, szekvenciálisan meghívja az összes regisztrált autoload függvényt, átadva nekik az osztály nevét. Az első paraméter az autoload callback függvény, a második paraméter (opcionális) - hogy dobjon-e kivételt hibánál, a harmadik paraméter (opcionális) - hogy a függvényt a sor elejére kell-e adni.

Szintaxis

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

Példa

Egyszerű autoload függvény regisztrálása:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Most már létrehozhatunk objektumokat explicit include nélkül
  $obj = new MyClass();
?>

Példa

Anonim függvény használata autoloadinghez:

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

Példa

Több autoload függvény regisztrálása:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Hozzáadjuk a sor elejéhez
  
  // A PHP a függvényeket a következő sorrendben hívja: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Lásd még