Функција spl_autoload_register

Функција spl_autoload_register региструје задату функцију као имплементацију методе за аутоматско учитавање класа. Када PHP наиђе на недефинисану класу, он у низу позива све регистроване функције за аутоматско учитавање, прослеђујући им име класе. Први параметар - callback-функција за аутоматско учитавање, други параметар (опциони) - да ли да баци изузетак при грешци, трећи параметар (опциони) - да ли да дода функцију на почетак реда.

Синтакса

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

Пример

Једноставна регистрација функције за аутоматско учитавање:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Сада је могуће креирати објекте без експлицитног include
  $obj = new MyClass();
?>

Пример

Коришћење анонимне функције за аутоматско учитавање:

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

Пример

Регистрација више функција за аутоматско учитавање:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Додајемо на почетак реда
  
  // PHP ће позивати функције по реду: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Види још