mirror of
https://github.com/composer/composer
synced 2025-05-10 17:12:51 +00:00
Add config option to set if the PHP include path should automatically be used when generating the autoloader
This commit is contained in:
parent
dea4bdf8f0
commit
84b34b70e0
4 changed files with 29 additions and 3 deletions
|
@ -30,6 +30,7 @@ class AutoloadGenerator
|
|||
$filesystem = new Filesystem();
|
||||
$filesystem->ensureDirectoryExists($config->get('vendor-dir'));
|
||||
$vendorPath = strtr(realpath($config->get('vendor-dir')), '\\', '/');
|
||||
$useGlobalIncludePath = (bool) $config->get('use-include-path');
|
||||
$targetDir = $vendorPath.'/'.$targetDir;
|
||||
$filesystem->ensureDirectoryExists($targetDir);
|
||||
|
||||
|
@ -171,7 +172,7 @@ EOF;
|
|||
file_put_contents($targetDir.'/include_paths.php', $includePathFile);
|
||||
}
|
||||
file_put_contents($vendorPath.'/autoload.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
|
||||
file_put_contents($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, true, (bool) $includePathFile, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix));
|
||||
file_put_contents($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, true, (bool) $includePathFile, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath));
|
||||
copy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php');
|
||||
}
|
||||
|
||||
|
@ -326,7 +327,7 @@ return ComposerAutoloaderInit$suffix::getLoader();
|
|||
AUTOLOAD;
|
||||
}
|
||||
|
||||
protected function getAutoloadRealFile($usePSR0, $useClassMap, $useIncludePath, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix)
|
||||
protected function getAutoloadRealFile($usePSR0, $useClassMap, $useIncludePath, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath)
|
||||
{
|
||||
// TODO the class ComposerAutoloaderInit should be revert to a closure
|
||||
// when APC has been fixed:
|
||||
|
@ -403,6 +404,13 @@ PSR0;
|
|||
CLASSMAP;
|
||||
}
|
||||
|
||||
if ($useGlobalIncludePath) {
|
||||
$file .= <<<'INCLUDEPATH'
|
||||
$loader->setUseIncludePath(true);
|
||||
|
||||
INCLUDEPATH;
|
||||
}
|
||||
|
||||
if ($targetDirLoader) {
|
||||
$file .= <<<REGISTER_AUTOLOAD
|
||||
spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'), true, true);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue