phpday 2025 - Call For Papers

spl_autoload_functions

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

spl_autoload_functionsLiefert alle registrierten __autoload()-Funktionen

Beschreibung

spl_autoload_functions(): array

Gibt alle registrierten __autoload()-Funktionen zurück.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Ein Array aller registrierten __autoload-Funktionen. Ist keine Funktion registriert oder die Autoload-Warteschlange nicht aktiviert, wird ein leeres Array zurückgegeben.

Changelog

Version Beschreibung
8.0.0 Der Rückgabewert wurde dahingehend geändert, dass es sich nun immer um ein Array handelt; zuvor gab diese Funktion false zurück, wenn die Autoload-Warteschlange nicht aktiviert war.
add a note

User Contributed Notes 2 notes

up
7
dantedantas at gmail dot com
7 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
4
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