mirror of
https://github.com/composer/composer
synced 2025-05-08 16:17:37 +00:00

Calling ComposerAutoloaderInit::getLoader twice when a package requires a .php file containing functions, lead to the functions to be declared twice, and cause an error. In my case, using behat + symfony2extension + assetic, the error that occured: PHP Fatal error: Cannot redeclare assetic_init() (previously declared in vendor/kriswallsmith/assetic/src/functions.php:20) in /vendor/kriswallsmith/assetic/src/functions.php on line 26 Fatal error: Cannot redeclare assetic_init() (previously declared in /vendor/kriswallsmith/assetic/src/functions.php:20) in /vendor/kriswallsmith/assetic/src/functions.php on line 26
39 lines
968 B
PHP
39 lines
968 B
PHP
<?php
|
|
|
|
// autoload_realFilesAutoload.php generated by Composer
|
|
|
|
require __DIR__ . '/ClassLoader.php';
|
|
|
|
class ComposerAutoloaderInitFilesAutoload
|
|
{
|
|
private static $loader;
|
|
|
|
public static function getLoader()
|
|
{
|
|
if (null !== static::$loader) {
|
|
return static::$loader;
|
|
}
|
|
|
|
static::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
|
$vendorDir = dirname(__DIR__);
|
|
$baseDir = dirname($vendorDir);
|
|
|
|
$map = require __DIR__ . '/autoload_namespaces.php';
|
|
foreach ($map as $namespace => $path) {
|
|
$loader->add($namespace, $path);
|
|
}
|
|
|
|
$classMap = require __DIR__ . '/autoload_classmap.php';
|
|
if ($classMap) {
|
|
$loader->addClassMap($classMap);
|
|
}
|
|
|
|
$loader->register();
|
|
|
|
require $baseDir . '/root.php';
|
|
require $vendorDir . '/a/a/test.php';
|
|
require $vendorDir . '/b/b/test2.php';
|
|
|
|
return $loader;
|
|
}
|
|
}
|