Funkcija spl_autoload_register

Funkcija spl_autoload_register registruje datu funkciju kao implementaciju metode za automatsko učitavanje klasa. Kada PHP naiđe na nedefinisanu klasu, on sekvencijalno poziva sve registrovane funkcije za automatsko učitavanje, prosleđujući im ime klase. Prvi parametar je callback-funkcija za automatsko učitavanje, drugi parametar (opcioni) - da li baciti izuzetak pri grešci, treći parametar (opcioni) - da li dodati funkciju na početak reda.

Sintaksa

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

Primer

Jednostavna registracija funkcije za automatsko učitavanje:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Sada je moguće kreirati objekte bez eksplicitnog include
  $obj = new MyClass();
?>

Primer

Korišćenje anonimne funkcije za automatsko učitavanje:

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

Primer

Registracija više funkcija za automatsko učitavanje:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Dodajemo na početak reda
  
  // PHP će pozvati funkcije redom: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Pogledajte takođe