1

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

/树干

  • /上市
  • /图书馆
  • /内容

和作曲家将其提取到

/我的项目/公共

/myproject/库

/我的项目/内容

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

4

2 回答 2

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.
于 2014-12-22T14:51:53.730 回答
0

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

总的来说,尽管我同意人们对您的问题的评论,但您真的不应该从一开始就这样做。尝试重新构建您的项目,这样您就不需要此功能,您将为自己节省大量工作。

于 2012-11-19T23:00:45.157 回答