创建PHP Composer安装程序以解压缩到多个目录

时间:2012-11-13 19:17:04

标签: php composer-php

是否可以创建将代码放在多个不同目录中的自定义PHP Composer安装程序?我想链接到这样设置的存储库:

/中继线

  • /公共
  • /文库
  • /内容

和作曲家将其提取到

/ myproject的/公共

/ myproject的/文库

/ myproject的/内容

这可能吗?我知道我需要一个自定义安装程序才能执行此操作,但我不确定如何设置安装程序以从repo导出代码并将其放在多个不同的目录中。

2 个答案:

答案 0 :(得分:1)

如果仍然考虑测试我的库(基于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.

答案 1 :(得分:0)

您可以创建一个自定义安装程序,负责将软件包安装到这些目录中。您可以使用包上的“type”属性指定要使用的自定义安装程序。自定义安装程序允许您在下载程序包后运行任何PHP代码,因此您可以执行任何您能想到的操作,特别是将不同的文件移动到不同的位置。有关创建自定义安装程序的更多详细信息,请参阅http://getcomposer.org/doc/articles/custom-installers.md

总的来说,虽然我同意人们对你的问题所评论的内容,但你真的不应该这样做。尝试重组您的项目,这样您就不需要这个功能了,您将为自己节省大量的工作。