我正在尝试设置一个 Composer 项目,该项目将使我能够设置自己的框架并提取存储在 github 私有(private)存储库中的任何给定依赖项。
首先是一些先决条件:
框架 composer.json
{
"name": "mycompany/myframework",
"description": "YET another Framework",
"type": "project",
"repositories": [
{
"type": "package",
"package": {
"name": "mycompany/system",
"version": "0.0.2",
"type": "library",
"source": {
"url": "https://github.com/mycompany/system.git",
"type": "git",
"reference": "master"
}
}
}
],
"require": {
"mycompany/system": "0.0.2",
"mnsami/composer-custom-directory-installer": "1.1.*"
},
"license": "proprietary",
"authors": [...],
"extra":{
"installer-paths":{}
}
}
我的公司/系统 composer.json
{
"name": "mycompany/system",
"type": "library",
"description": "utility belt xD"
}
PHP 中类的代码(来自 mycompany/sytem )具有以下结构:namespace MYCOMPANY;
//this file name is called utils.php
//adherence to PSR-4 is assumed
class utils {
}
我的目标是:我想告诉 Composer 它应该创建以下结构:
vendor\MYCOMPANY\utils.php (不是 vendor\mycompany\system\utils.php )
稍后,我希望能够添加更多这样的存储库并将它们存储在 MYCOMPANY 下。该框架将解决此设置。
自定义安装由 mnsami/composer-custom-directory-installer 处理
我猜我应该根据经验将不同的包保留在它们自己的目录中,但是,因为没有覆盖的风险,因为其他文件将具有不同的命名约定。
编辑
这能做到吗?
如果是这样,如何?
先感谢您
最佳答案
经过几个小时的工作并关注@NicoHaase 在评论中的回复,我放弃了这个问题。
我试图创建一个干净的文件夹,我可以在其中放置来自不同存储库的所有不同类,但是 composer 不能那样工作。
我希望这会帮助其他想要同样事情的人。
关于php - 使用自定义存储库和包使用 Composer 设置项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63004671/