我有5个不同的Laravel 5.1项目。如何为所有项目使用一个供应商目录。任何建议?
在composer.json中插入:
"config": {
"vendor-dir": "plugins"
}
并改变bootstrap/autoload.php
require __DIR__ . '/../vendor/autoload.php';
到您设置供应商目录的目录。
这对我有用:
我为每个只包含autoload.php文件的项目使用供应商目录。在这个文件中,我添加了一行,存储了应用程序目录的位置,例如$GLOBALS['mydir'] = 'absolute path to project';
,我修改了require_once语句,改变了路径,指向公共供应商目录。
在公共供应商目录中,我修改了vendor / composer / autoload_classmap.php并在返回数组之前添加了行$appDir =$GLOBALS['mydir'];
。
我用$ appDir替换了所有$ baseDir,其中/ app /存在于路径中(对我来说有23个替换)。
请注意,在我的情况下,我没有更新我的5.1 Laravel。更新后,我认为必须对autoload_static.php做同样的事情。仅使用一个供应商目录的一个很好的理由是,某些主机计划对每个主机帐户的文件有限制,而供应商有超过6000个文件。