(PHP 5 >= 5.1.2)
spl_autoload_register — Register given function as __autoload() implementation
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.
The autoload function being registered. If no parameter is provided, then the default implementation of spl_autoload() will be registered.
This parameter specifies whether spl_autoload_register() should throw exceptions on error.
If true, spl_autoload_register() will prepend the autoloader on the autoload stack instead of appending it.
Returns TRUE on success or FALSE on failure.
Version | Description |
---|---|
5.3.0 | Namespaces support was introduced. |
5.3.0 | The prepend parameter was added. |
Example #1 spl_autoload_register() example
<?php
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;
?>
The above example will output something similar to:
[[Foobar\InexistentClass]] Fatal error: Class 'Foobar\InexistentClass' not found in ...