1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-10 00:53:06 +00:00

[Autoload] remove closures because of a bug in APC

https://bugs.php.net/bug.php?id=52144
https://bugs.php.net/bug.php?id=61576
This commit is contained in:
Victor Berchet 2012-07-31 18:58:33 +02:00
parent 98743ba95b
commit 963fedc9a5
4 changed files with 147 additions and 98 deletions

View file

@ -5,24 +5,32 @@ if (!class_exists('Composer\\Autoload\\ClassLoader', false)) {
require __DIR__ . '/composer' . '/ClassLoader.php';
}
return call_user_func(function() {
$loader = new \Composer\Autoload\ClassLoader();
$composerDir = __DIR__ . '/composer';
if (!class_exists('ComposerAutoloaderInitFilesAutoload', false)) {
class ComposerAutoloaderInitFilesAutoload
{
public static function getLoader()
{
$loader = new \Composer\Autoload\ClassLoader();
$composerDir = __DIR__ . '/composer';
$map = require $composerDir . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->add($namespace, $path);
$map = require $composerDir . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->add($namespace, $path);
}
$classMap = require $composerDir . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
$loader->register();
require $vendorDir . '/a/a/test.php';
require $vendorDir . '/b/b/test2.php';
return $loader;
}
}
}
$classMap = require $composerDir . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
$loader->register();
require $vendorDir . '/a/a/test.php';
require $vendorDir . '/b/b/test2.php';
return $loader;
});
return ComposerAutoloaderInitFilesAutoload::getLoader();