class ApcClassLoader
ApcClassLoader implements a wrapping autoloader cached in APC for PHP 5.3.
It expects an object implementing a findFile method to find the file. This allows using it as a wrapper around the other loaders of the component (the ClassLoader for instance) but also around any other autoloaders following this convention (the Composer one for instance).
// with a Symfony autoloader
use Symfony\Component\ClassLoader\ClassLoader;
$loader = new ClassLoader();
$loader->addPrefix('Symfony\Component', __DIR__.'/component');
$loader->addPrefix('Symfony', __DIR__.'/framework');
// or with a Composer autoloader
use Composer\Autoload\ClassLoader;
$loader = new ClassLoader();
$loader->add('Symfony\Component', __DIR__.'/component');
$loader->add('Symfony', __DIR__.'/framework');
$cachedLoader = new ApcClassLoader('my_prefix', $loader);
// activate the cached autoloader
$cachedLoader->register();
// eventually deactivate the non-cached loader if it was registered previously
// to be sure to use the cached one.
$loader->unregister();
Methods
__construct(string $prefix, object $decorated) Constructor. | ||
register(bool $prepend = false) Registers this instance as an autoloader. | ||
unregister() Unregisters this instance as an autoloader. | ||
bool|null | loadClass(string $class) Loads the given class or interface. | |
string|null | findFile(string $class) Finds a file by class name while caching lookups to APC. | |
__call($method, $args) Passes through all unknown calls onto the decorated object. |
Details
__construct(string $prefix, object $decorated)
Constructor.
register(bool $prepend = false)
Registers this instance as an autoloader.
unregister()
Unregisters this instance as an autoloader.
bool|null loadClass(string $class)
Loads the given class or interface.
string|null findFile(string $class)
Finds a file by class name while caching lookups to APC.
__call($method, $args)
Passes through all unknown calls onto the decorated object.
Please login to continue.