php man page for spl_autoload_register

Query: spl_autoload_register

OS: php

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

SPL_AUTOLOAD_REGISTER(3)						 1						  SPL_AUTOLOAD_REGISTER(3)

spl_autoload_register - Register given function as __autoload() implementation

SYNOPSIS
bool spl_autoload_register ([callable $autoload_function], [bool $throw = true], [bool $prepend = false])
DESCRIPTION
Register a function with the spl provided __autoload queue. If the queue is not yet activated it will be activated. If your code has an existing __autoload(3) function then this function must be explicitly registered on the __autoload queue. This is because spl_autoload_register(3) will effectively replace the engine cache for the __autoload(3) function by either spl_autoload(3) or spl_autoload_call(3). If there must be multiple autoload functions, spl_autoload_register(3) allows for this. It effectively creates a queue of autoload func- tions, and runs through each of them in the order they are defined. By contrast, __autoload(3) may only be defined once.
PARAMETERS
o $autoload_function - The autoload function being registered. If no parameter is provided, then the default implementation of spl_autoload(3) will be registered. o $throw - This parameter specifies whether spl_autoload_register(3) should throw exceptions when the $autoload_function cannot be regis- tered. o $prepend - If true, spl_autoload_register(3) will prepend the autoloader on the autoload queue instead of appending it.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
CHANGELOG
+--------+-------------------------------------+ |Version | | | | | | | Description | | | | +--------+-------------------------------------+ | 5.3.0 | | | | | | | Namespaces support was introduced. | | | | | 5.3.0 | | | | | | | The $prepend parameter was added. | | | | +--------+-------------------------------------+
EXAMPLES
Example #1 spl_autoload_register(3) as a replacement for an __autoload(3) function <?php // function __autoload($class) { // include 'classes/' . $class . '.class.php'; // } function my_autoloader($class) { include 'classes/' . $class . '.class.php'; } spl_autoload_register('my_autoloader'); // Or, using an anonymous function as of PHP 5.3.0 spl_autoload_register(function ($class) { include 'classes/' . $class . '.class.php'; }); ?> Example #2 spl_autoload_register(3) example where the class is not loaded <?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: [[FoobarInexistentClass]] Fatal error: Class 'FoobarInexistentClass' not found in ...
SEE ALSO
__autoload(3). PHP Documentation Group SPL_AUTOLOAD_REGISTER(3)
Related Man Pages
var_export(3) - php
stream_wrapper_register(3) - php
get_parent_class(3) - php
yaf_loader(3) - php
is_subclass_of(3) - php
Similar Topics in the Unix Linux Community
PHP AJAX 1.0 (Default branch)
PHP AJAX 1.5.1 (Default branch)
SJS PHP Class: Release 1.0
PHP Fatal error: Call to undefined function csvToArray() in scott_report_new_regs.php
Init.php to fix PHP upgrade error