Funkcija spl_autoload_register

Funkcija spl_autoload_register registrira dano funkcijo kot implementacijo metode za avtomatsko nalaganje razredov. Ko PHP naleti na nedefiniran razred, zaporedno kliče vse registrirane funkcije za avtomatsko nalaganje in jim posreduje ime razreda. Prvi parameter je callback-funkcija za avtomatsko nalaganje, drugi parameter (neobvezen) - ali naj vrže izjemo pri napaki, tretji parameter (neobvezen) - ali naj doda funkcijo na začetek čakalne vrste.

Sintaksa

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

Primer

Preprosta registracija funkcije za avtomatsko nalaganje:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Zdaj je mogoče ustvarjati objekte brez eksplicitnega include
  $obj = new MyClass();
?>

Primer

Uporaba anonimne funkcije za avtomatsko nalaganje:

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

Primer

Registracija več funkcij za avtomatsko nalaganje:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Dodamo na začetek čakalne vrste
  
  // PHP bo klical funkcije v vrstnem redu: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Glejte tudi