PHP Portal » PHP Handbuch » spl_autoload_register

Werbung

spl_autoload_register


(PHP 5 >= 5.1.2)

spl_autoload_registerRegister given function as __autoload() implementation

Beschreibung

bool spl_autoload_register ([ callback $autoload_function ] )

Register a function with the spl provided __autoload stack. If the stack is not yet activated it will be activated.

If your code has an existing __autoload function then this function must be explicitly registered on the __autoload stack. This is because spl_autoload_register() will effectively replace the engine cache for the __autoload function by either spl_autoload() or spl_autoload_call().

If there must be multiple autoload functions, spl_autoload_register() allows for this. It effectively creates a queue of autoload functions, and runs through each of them in the order they are defined. By contrast, __autoload() may only be defined once.

Parameter-Liste

autoload_function

The autoload function being registered. If no parameter is provided, then the default implementation of spl_autoload() will be registered.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
5.3.0 Namespaces support was introduced.

Beispiele

PHP Code
1
2
3
4
5
6
7
8
namespace Foobar; class Foo { static public function test($name) { print '[['. $name .']]'; } } spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0 new InexistentClass;

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...