【问题标题】:Should composer be installed/copied to every project or stored in a single location?作曲家应该安装/复制到每个项目还是存储在一个位置?
【发布时间】:2018-12-17 05:42:48
【问题描述】:
我正在与作曲家合作,我最近开始了一个需要它的新项目。没什么大不了的,因为我已经在另一个项目中下载了 json 文件和供应商文件夹等等。
除了我必须从我的原始项目目录中复制作曲家文件并将它们粘贴到新目录中。这是使用 Composer 的正确方法,还是应该将文件包含在单个外部位置并由我的每个项目引用?
我知道这有点离题,但我在其他地方找不到直接的答案,希望能就此事提出建议。谢谢。
【问题讨论】:
标签:
php
composer-php
file-management
【解决方案1】:
你做的没问题。每个项目文件夹都应该有自己的作曲家文件。这样,每个项目的依赖项的更新或更改都是独立的。
【解决方案2】:
这可能是一个高级主题,您可以在其中修改 php.ini 的包含路径。
您不需要为每个项目复制作曲家供应商文件。您可以指定 'global' 作为参数,这会将供应商项目保存在全局路径中。
然后,调整您的 php.ini's include_path 包括该全局路径的自动加载。
require_once("vendor/autoload.php");
不要将 './' 前缀作为 './vendor/... 并且该文件包含在全局存储库中。这是每个用户的配置,可能在您的 linux 控制台上是允许的。
您的项目的 json 文件附加在项目本身中,但供应商路径来自全局。许多项目可以共享同一个存储库。它可能不会对性能产生太大影响,因为自动加载会发挥最大作用。