АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
331 of 410 menu

Функцыя spl_autoload_register

Функцыя spl_autoload_register рэгіструе зададзеную функцыю ў якасці рэалізацыі метаду аўтазагрузкі класаў. Калі PHP сустракае невызначаны клас, ён паслядоўна выклікае ўсе зарэгістраваныя функцыі аўтазагрузкі, перадаючы ім імя класа. Першы параметр - зваротная функцыя для аўтазагрузкі, другі параметр (неабавязковы) - выкідваць выключэнне пры памылцы, трэці параметр (неабавязковы) - дадаваць функцыю ў пачатак чаргі.

Сінтаксіс

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

Прыклад

Простая рэгістрацыя функцыі аўтазагрузкі:

<?php function my_autoloader($class) { include 'classes/' . $class . '.php'; } spl_autoload_register('my_autoloader'); // Цяпер можна ствараць аб'екты без яўнага include $obj = new MyClass(); ?>

Прыклад

Выкарыстанне ананімнай функцыі для аўтазагрузкі:

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

Прыклад

Рэгістрацыя некалькіх функцый аўтазагрузкі:

<?php spl_autoload_register('autoloader1'); spl_autoload_register('autoloader2'); spl_autoload_register('autoloader3', true, true); // Дадаем у пачатак чаргі // PHP будзе выклікаць функцыі ў парадку: autoloader3, autoloader1, autoloader2 $obj = new MyClass(); ?>

Глядзіце таксама

byenru