在为Magento 2进行客户项目工作时-我发现了许多加载并跟踪第三方扩展的方法。
假设我们正在使用集成器安装方法(composer!),那么管理第三方扩展的最佳实践是什么?
到目前为止,我购买或下载的每个扩展都有其自己的composer.json文件-而且我知道扩展作者建议至少三种不同的方式来安装其扩展:
- 将这些文件复制到应用程序/代码中
- 将此zip复制到文件夹中,将其添加为工件存储库,并要求它
- 添加此在线存储库(使用/不使用身份验证)并要求它
到目前为止,我遇到过1和2,只是有点怀疑#3的存在。但是然后,注意到那些建议#1的人,我发现您可以拥有一个“路径”存储库-将扩展从app / code移到了我决定放置这些工件的同一文件夹中,并以此方式要求。
在此过程中,我的存储库配置如下所示:
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
},
"artifacts": {
"type": "artifact",
"url": "artifacts"
},
"third-party": {
"type": "path",
"url": "artifacts/*/*"
},
},
因此,我对您的问题是-最佳做法是什么?您如何管理第三方扩展?
到目前为止,我相信我的方法是最好的方法-仅因为读取了他们的composer.json并且任何依赖关系冲突(或PHP版本约束)都会变得很明显-但我认为这不够确定。