spl_autoload_functions

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload_functionsReturn all registered __autoload() functions

Descrizione

spl_autoload_functions(): array

Get all registered __autoload() functions.

Elenco dei parametri

Questa funzione non contiene parametri.

Valori restituiti

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

Log delle modifiche

Versione Descrizione
8.0.0 Return value was updated to always be an array; previously this function returned false if the autoload queue wasn't activated.
add a note add a note

User Contributed Notes 2 notes

up
5
dantedantas at gmail dot com
6 years ago
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>"
    }
  }
}
up
1
124307954 at qq dot com
5 years ago
<?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"
}
To Top