Autoloader
in package
Alias legacy Zend Framework project classes/interfaces/traits to Laminas equivalents.
Table of Contents
Constants
- LOCAL_COMPOSER_VENDOR_DIRECTORY = __DIR__ . '/../vendor'
- UPSTREAM_COMPOSER_VENDOR_DIRECTORY = __DIR__ . '/../../..'
Methods
- load() : void
- Attach autoloaders for managing legacy ZF artifacts.
- createAppendAutoloader() : callable(string): void
- createPrependAutoloader() : callable(string): void
- getClassLoader() : ClassLoader|null
- getClassLoaderFromVendorDirectory() : ClassLoader|null
Constants
LOCAL_COMPOSER_VENDOR_DIRECTORY
private
mixed
LOCAL_COMPOSER_VENDOR_DIRECTORY
= __DIR__ . '/../vendor'
UPSTREAM_COMPOSER_VENDOR_DIRECTORY
private
mixed
UPSTREAM_COMPOSER_VENDOR_DIRECTORY
= __DIR__ . '/../../..'
Methods
load()
Attach autoloaders for managing legacy ZF artifacts.
public
static load() : void
We attach two autoloaders:
-
The first is prepended to handle new classes and add aliases for legacy classes. PHP expects any interfaces implemented, classes extended, or traits used when declaring class_alias() to exist and/or be autoloadable already at the time of declaration. If not, it will raise a fatal error. This autoloader helps mitigate errors in such situations.
-
The second is appended in order to create aliases for legacy classes.
createAppendAutoloader()
private
static createAppendAutoloader(array<string, string> $namespaces, ArrayObject $loaded) : callable(string): void
Parameters
- $namespaces : array<string, string>
- $loaded : ArrayObject
Return values
callable(string): voidcreatePrependAutoloader()
private
static createPrependAutoloader(array<string, string> $namespaces, ClassLoader $classLoader, ArrayObject $loaded) : callable(string): void
Parameters
- $namespaces : array<string, string>
- $classLoader : ClassLoader
- $loaded : ArrayObject
Return values
callable(string): voidgetClassLoader()
private
static getClassLoader() : ClassLoader|null
Return values
ClassLoader|nullgetClassLoaderFromVendorDirectory()
private
static getClassLoaderFromVendorDirectory(string $composerVendorDirectory) : ClassLoader|null
Parameters
- $composerVendorDirectory : string