我需要在Symfony 2应用程序中自动加载两个供应商目录。我将首先解释为什么我需要这个,以使一切更清楚:
我有许多用Symfony 2编写的小项目/网站,所有symlinks
一个shared library
提供域名模型等。
其中一个项目应用程序结构:
|- app
|- library -> ../library (symlink)
|- src
|- vendor
|- web
library
项目有许多重要的供应商(学说等),因此我无法在每个项目library
目录中安装vendors
的供应商。这将占用大量磁盘空间。
我是否需要merge
两个供应商([root]/vendors
和[root]/library/vendors
),以便它们全部自动加载但不会被复制?如果我这样做,我的composer.lock会失败,因为供应商住在不同的目录。
如何使用Composer完成此操作?任何提示,我都没有想法。
谢谢!
答案 0 :(得分:0)
Symfony 2 app / autoload.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;