spl_autoload_functions

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_functions返回所有已注册的__autoload()函数。

说明

array spl_autoload_functions ( void )

获取所有已注册的 __autoload() 函数。

参数

此函数没有参数。

返回值

包含所有已注册的__autoload函数的数组(array)。如果自动装载函数队列未激活,则返回FALSE。如果没有已注册的函数,则返回一个空数组。

User Contributed Notes

dantedantas at gmail dot com 05-Jul-2017 08:14
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>"
    }
  }
}