Kazi spl_autoload_register

Kazi spl_autoload_register inasajili kazi iliyopewa kama utekelezaji wa mbinu ya upakiaji otomatiki wa madarasa. Wakati PHP inapokutana na darasa lisilojulikana, inaita kwa mpangilio kazi zote zilizosajiliwa za upakiaji otomatiki, ikizipitisha jina la darasa. Kigezo cha kwanza ni kazi ya callback kwa upakiaji otomatiki, kigezo cha pili (si lazima) - je, kutupa isipokuwa kwa hitilafu, kigezo cha tatu (si lazima) - je, kuongeza kazi mwanzoni mwa foleni.

Syntax

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

Mfano

Usajili rahisi wa kazi ya upakiaji otomatiki:

php<?php
  function my_autoloader($class) {
    include 'classes/' . $class . '.php';
  }
  
  spl_autoload_register('my_autoloader');
  
  // Sasa inawezekana kuunda vitu bila include ya wazi
  $obj = new MyClass();
?>

Mfano

Matumizi ya kazi isiyo na jina kwa upakiaji otomatiki:

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

Mfano

Usajili wa kazi nyingi za upakiaji otomatiki:

php<?php
  spl_autoload_register('autoloader1');
  spl_autoload_register('autoloader2');
  spl_autoload_register('autoloader3', true, true); // Ongeza mwanzoni mwa foleni
  
  // PHP itaita kazi kwa mpangilio: autoloader3, autoloader1, autoloader2
  $obj = new MyClass();
?>

Angalia pia