Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 160 lines (114 sloc) 4.529 kb

The SplAutoloader Interface


While any valid PHP callback may be registered with spl_autoload_register(), Zend Framework autoloaders often provide more flexibility by being stateful and allowing configuration. To provide a common interface, Zend Framework provides the SplAutoloader interface.

Objects implementing this interface provide a standard mechanism for configuration, a method that may be invoked to attempt to load a class, and a method for registering with the SPL autoloading mechanism.

Quick Start

To create your own autoloading mechanism, simply create a class implementing the SplAutoloader interface (you may review the methods defined in the :ref:`Methods section <zend.loader.spl-autoloader.methods>`). As a simple example, consider the following autoloader, which will look for a class file named after the class within a list of registered directories.

To use this ModifiedIncludePathAutoloader from the previous example:

Configuration Options

This component defines no configuration options, as it is an interface.

Available Methods


Initialize and configure an autoloader __construct($options = null)

Constructor Autoloader constructors should optionally receive configuration options. Typically, if received, these will be passed to the setOptions() method to process.


Configure the autoloader state setOptions($options)

setOptions() Used to configure the autoloader. Typically, it should expect either an array or a Traversable object, though validation of the options is left to implementation. Additionally, it is recommended that the method return the autoloader instance in order to implement a fluent interface.


Attempt to resolve a class name to the file defining it autoload($classname)

autoload() This method should be used to resolve a class name to the file defining it. When a positive match is found, return the class name; otherwise, return a boolean false.


Register the autoloader with the SPL autoloader register()

register() Should be used to register the autoloader instance with spl_autoload_register(). Invariably, the method should look like the following:


Please see the :ref:`Quick Start <zend.loader.spl-autoloader.quick-start>` for a complete example.

Something went wrong with that request. Please try again.