zendframework/zend-loader
Autoloading and class loading utilities for Zend Framework applications. Provides standard and optimized autoloaders (including PSR-0/PSR-4 style support), plugin class loading, and tools to resolve and map class names to files for legacy or modular codebases.
zend-loader provides multiple autoloader strategies.
Zend\Loader\AutoloaderFactory allows you to define configuration for each
strategy you wish to use and register them at once. As an example, you may have
a class map for your most used classes, but want to use a PSR-0 style autoloader
for 3rd party libraries. The factory uses configuration, allowing you to cache
your autoloader definitions or define them centrally for your application.
The AutoloaderFactory expects an array of configuration.
$config = [
'Zend\Loader\ClassMapAutoloader' => [
'application' => APPLICATION_PATH . '/.classmap.php',
'zf' => APPLICATION_PATH . '/../library/Zend/.classmap.php',
],
'Zend\Loader\StandardAutoloader' => [
'namespaces' => [
'Phly\Mustache' => APPLICATION_PATH . '/../library/Phly/Mustache',
'Doctrine' => APPLICATION_PATH . '/../library/Doctrine',
],
],
];
Once you have your configuration in a PHP array, pass it to the
AutoloaderFactory:
// This example assumes that the AutoloaderFactory is itself autoloadable!
use Zend\Loader\AutoloaderFactory;
AutoloaderFactory::factory($config);
The AutoloaderFactory will instantiate each autoloader with the given options,
and also call its register() method to register it with the SPL autoloader.
The AutoloaderFactory expects an associative array or Traversable object.
Keys should be valid autoloader class names, and the values should be the
options that should be passed to the class constructor.
Internally, the AutoloaderFactory checks to see if the autoloader class
referenced exists. If not, it will use the StandardAutoloader
to attempt to load the class via the include_path.
If the class is not found, or does not implement the
SplAutoloader interface, an exception will be raised.
static factory(array|Traversable $options) : void
Instantiate and register autoloaders.
This method is static, and is used to instantiate autoloaders and register them
with the SPL autoloader. It expects either an array or Traversable object as denoted in the
[options section](#configuration options).
static getRegisteredAutoloaders() : SplAutoloader[]
Retrieve a list of all autoloaders registered using the factory.
This method is static, and may be used to retrieve a list of all autoloaders
registered via the factory() method. It returns an array of SplAutoloader
instances.
static getRegisteredAutoloader($class) : SplAutoloader
Retrieve an autoloader by class name.
This method is static, and is used to retrieve a specific autoloader by class name. If the autoloader is not registered, an exception will be thrown.
static unregisterAutoloaders() : void
Unregister all autoloaders registered via the factory.
This method is static, and can be used to unregister all autoloaders that were registered via the factory. Note that this will not unregister autoloaders that were registered outside of the factory.
static unregisterAutoloader($class) : bool
Unregister an autoloader registered via the factory.
This method is static, and can be used to unregister an autoloader that was
registered via the factory. Note that this will not unregister autoloaders
that were registered outside of the factory. If the autoloader is registered via
the factory, after unregistering it will return TRUE, otherwise FALSE.
How can I help you explore Laravel packages today?