Funksie spl_autoload_register

Die funksie spl_autoload_register registreer die gegewe funksie as die implementering van die outomatiese laaimetode vir klasse. Wanneer PHP 'n ongedefinieerde klas teëkom, roep dit al die geregistreerde outomatiese laaifunksies opeenvolgend aan en gee die klasnaam aan hulle deur. Die eerste parameter is die callback-funksie vir outomatiese laai, die tweede parameter (opsioneel) is of 'n uitsondering uitgeworpe moet word by 'n fout, die derde parameter (opsioneel) is of die funksie aan die begin van die tou gevoeg moet word.

Sintaksis

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

Voorbeeld

Eenvoudige registrasie van 'n outomatiese laaifunksie:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Nou kan objekte geskep word sonder eksplisiete include
  $obj = new MyClass();
?>

Voorbeeld

Gebruik van 'n anonieme funksie vir outomatiese laai:

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

Voorbeeld

Registrasie van verskeie outomatiese laaifunksies:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Voeg aan die begin van die tou by
  
  // PHP sal funksies in volgorde aanroep: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Sien ook