是否可以创建自定义的PHP Composer安装程序,将代码放在多个不同的目录中? 我想链接到设置如下的存储库:
/树干
- /公共
- /图书馆
- /内容
作曲家将其提取到
/我的项目/公共
/我的项目/图书馆
/我的项目/内容
这可能吗? 我知道我需要一个自定义安装程序来执行此操作,但我不确定如何设置安装程序以从存储库导出代码并将其放在多个不同的目录中。
如果仍然有情况,请考虑测试我的库(基于 mnsami
的插件):
https://github.com/ideaconnect/composer-custom-directory
允许自定义路径:
"extra":{
"installer-paths":{
"./monolog/": ["monolog/monolog"]
}
甚至动态名称替换:
"extra": {
"installer-paths": {
"./packages/{$name}": ["sourcepackage/package_A","sourcepackage/package_B","sourcepackage/package_B"]
}
},
带旗帜链:
目前支持的标志是:
F - capitalizes first letter.
P - changes all entries of a _ or - followed by a character to only that character, capitalized.
您可以创建一个自定义安装程序,负责将软件包安装到这些目录中。您可以使用包上的"type"属性指示要使用的自定义安装程序。自定义安装程序允许您在下载软件包后运行任何PHP代码,因此您可以在那里做任何您能想到的事情,特别是将不同的文件移动到不同的地方。有关创建自定义安装程序的更多详细信息,请参阅 http://getcomposer.org/doc/articles/custom-installers.md
总的来说,虽然我同意人们对你的问题的评论,但你真的不应该一开始就这样做。尝试重组您的项目,这样您就不需要此功能,您将节省大量工作。