If you use an anonymous function, it will return the object that are expected.
spl_autoload_register(function ($myclass){
$keyclass = substr($myclass, 0, 1);
switch ($keyclass) {
case 'c':
if (file_exists("class".DIRECTORY_SEPARATOR.$myclass.".php") === true)
require_once ("class".DIRECTORY_SEPARATOR.$myclass.".php");
break;
case 'i':
if (file_exists("interface".DIRECTORY_SEPARATOR.$myclass.".php") === true)
require_once ("interface".DIRECTORY_SEPARATOR.$myclass.".php");
break;
case 'a':
if (file_exists("abstract".DIRECTORY_SEPARATOR.$myclass.".php") === true)
require_once ("abstract".DIRECTORY_SEPARATOR.$myclass.".php");
break;
default:
if (file_exists($myclass.".php") === true)
require_once ($myclass.".php");
}
/******************************/
var_dump(spl_autoload_functions()) return:
array(1) {
[0]=>
object(Closure)#1 (1) {
["parameter"]=>
array(1) {
["$myclass"]=>
string(10) "<required>"
}
}
}
PHP.mk документација
spl_autoload_functions
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.spl-autoload-functions.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.spl-autoload-functions.php
spl_autoload_functions
Референца за `function.spl-autoload-functions.php` со подобрена типографија и навигација.
spl_autoload_functions
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
spl_autoload_functions — Врати ги сите регистрирани __autoload() функции
Параметри
Оваа функција нема параметри.
Вратени вредности
Еден array од сите регистрирани __autoload функции. Ако не е регистрирана функција, или опашката за автоматско вчитување не е активирана, тогаш вратената вредност ќе биде празен низ.
Белешки од корисници 2 забелешки
dantedantas на gmail точка com ¶
пред 8 години
124307954 на qq точка com ¶
пред 7 години
<?php
spl_autoload_register(function ($name) {
echo "Want to load $name.\n";
});
spl_autoload_register(function($className) {
var_dump($className);
});
function unregister($className) {
var_dump($className.' i will be the first');
}
spl_autoload_register('unregister');
var_dump(spl_autoload_functions());
===================
array(3) {
[0]=>
object(Closure)#1 (1) {
["parameter"]=>
array(1) {
["$name"]=>
string(10) "<required>"
}
}
[1]=>
object(Closure)#2 (1) {
["parameter"]=>
array(1) {
["$className"]=>
string(10) "<required>"
}
}
[2]=>
string(10) "unregister"
}