spl_autoload_register ֆունկցիա
spl_autoload_register ֆունկցիան գրանցում է տրված ֆունկցիան որպես դասերի ավտոմատ բեռնման մեթոդի իրականացում: Երբ PHP-ն հանդիպում է անորոշ դասի, այն հաջորդաբար կանչում է բոլոր գրանցված ավտոմատ բեռնման ֆունկցիաները՝ փոխանցելով նրանց դասի անունը: Առաջին պարամետրը ավտոմատ բեռնման callback-ֆունկցիան է, երկրորդ պարամետրը (ոչ պարտադիր)՝ արդյոք նետել բացառություն սխալի դեպքում, երրորդ պարամետրը (ոչ պարտադիր)՝ արդյոք ավելացնել ֆունկցիան հերթի սկիզբ:
Շարահյուսություն
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();
?>
Տես նաև
-
spl_autoload_functions ֆունկցիան,
որը վերադարձնում է ավտոմատ բեռնիչները -
spl_autoload_unregister ֆունկցիան,
որը հեռացնում է ավտոմատ բեռնիչը -
class_exists ֆունկցիան,
որը ստուգում է դասը