Composer:两个供应商目录(其中一个是符号链接的)-共享库自动加载


Composer: two vendor directories (one of them is symlinked) - shared library autoloading

我需要在Symfony 2应用程序中自动加载两个供应商目录。我将首先解释为什么我需要这个,使一切更清楚:

我有许多用Symfony 2编写的小项目/网站,所有的symlinksshared library都提供了领域模型等

其中一个项目的应用程序结构:

|- app
|- library -> ../library (symlink)
|- src
|- vendor
|- web

library项目有许多重要的供应商(doctrine等),所以我不能在每个项目的vendors目录中安装library的供应商。这将占用大量磁盘空间。

我是否需要merge两个供应商([root]/vendors[root]/library/vendors),以便它们都是自动加载的,但不复制?如果我这样做,我的作曲家。我猜lock会失败,因为供应商位于不同的目录。

如何在Composer中做到这一点?有什么建议吗,我已经无计可施了。

谢谢!

Symfony 2 app/autolload .php文件可以用来添加额外的目录来加载。

/**
 * @var $loader ClassLoader
 */
// The Composer generated autoloader
$loader = require __DIR__.'/../vendor/autoload.php';
// An additional directory to load from
$loader->add('Cerad',   __DIR__  . '/../../cerad2/src');
// Majic
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
return $loader;