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

at line line 68
__construct(string $prefix, object $decorated)

Constructor.

Parameters

string $prefix The APC namespace prefix to use
object $decorated A class loader object that implements the findFile() method

Exceptions

RuntimeException
InvalidArgumentException

at line line 87
register(bool $prepend = false)

Registers this instance as an autoloader.

Parameters

bool $prepend Whether to prepend the autoloader or not

at line line 95
unregister()

Unregisters this instance as an autoloader.

at line line 107
bool|null loadClass(string $class)

Loads the given class or interface.

Parameters

string $class The name of the class

Return Value

bool|null True, if loaded

at line line 123
string|null findFile(string $class)

Finds a file by class name while caching lookups to APC.

Parameters

string $class A class name to resolve to file

Return Value

string|null

at line line 137
__call($method, $args)

Passes through all unknown calls onto the decorated object.

Parameters

$method
$args