Funkcija spl_autoload_register

Funkcija spl_autoload_register reģistrē norādīto funkciju kā metodi klašu automātiskai ielādei. Kad PHP saskaras ar nedefinētu klasi, tas secīgi izsauca visus reģistrētos automātiskās ielādes veidotus, padodot tiem klases nosaukumu. Pirmais parametrs - callback-funkcija automātiskai ielādei, otrais parametrs (neobligāts) - vai izmest izņēmumu kļūdas gadījumā, trešais parametrs (neobligāts) - vai pievienot funkciju rindas sākumā.

Sintakse

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

Piemērs

Vienkārša automātiskās ielādes funkcijas reģistrācija:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Tagad var izveidot objektus bez skaidras include
  $obj = new MyClass();
?>

Piemērs

Anonīmas funkcijas izmantošana automātiskai ielādei:

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

Piemērs

Vairāku automātiskās ielādes funkciju reģistrācija:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Pievienojam rindas sākumā
  
  // PHP izsauks funkcijas secībā: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Skatiet arī