spl_autoload_functions

(PHP 5 >= 5.1.2)

spl_autoload_functionsReturn all registered __autoload() functions

Description

array spl_autoload_functions ( void )

Get all registered __autoload() functions.

Parameters

This function has no parameters.

Return Values

An array of all registered __autoload functions. If the autoload stack is not activated then the return value is FALSE. If no function is registered the return value will be an empty array.

Коментарии

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>"
    }
  }
}
2017-07-05 14:14:15
http://php5.kiev.ua/manual/ru/function.spl-autoload-functions.html
<?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"
}
2019-03-01 08:01:44
http://php5.kiev.ua/manual/ru/function.spl-autoload-functions.html

    Поддержать сайт на родительском проекте КГБ