idct/composer-custom-directory

一个 composer 插件,用于在默认 composer 安装路径(位于 `vendor` 文件夹)之外的自定义目录中安装不同类型的 composer 包。

安装次数: 9,533

依赖者: 0

建议者: 0

安全: 0

星标: 4

关注者: 1

分支: 1

类型:composer-plugin

dev-master / 1.0.x-dev 2015-02-11 12:25 UTC

This package is auto-updated.

Last update: 2024-08-28 16:13:49 UTC


README

一个 composer 插件,用于在默认 composer 安装路径(位于 `vendor` 文件夹)之外的自定义目录中安装不同类型的 composer 包。

基于并深受 mnsami 的存储库影响:[https://github.com/mnsami/composer-custom-directory-installer](https://github.com/mnsami/composer-custom-directory-installer)(由于原始作者的维护缓慢或没有维护,已移出分支。)

安装

  • 将 composer 插件包含到您的 composer.jsonrequire 部分 - 例如
  "require":{
    "php": ">=5.4",
    "idct/composer-directory-installer": "1.0.*",
    "monolog/monolog": "*"
  }
  • extra 部分定义您希望安装包的自定义目录:
  "extra":{
    "installer-paths":{
      "./monolog/": ["monolog/monolog"]
    }

通过添加 installer-paths 部分,您正在告诉 composer 将 monolog 包安装到您的根目录下的 monolog 文件夹中。

动态路径

一个功能,允许您根据一组预定义的令牌在不同的目录中安装包。

  • 例如,一个设置
    "extra": {
        "installer-paths": {
            "./packages/{$name}": ["sourcepackage/package_A","sourcepackage/package_B","sourcepackage/package_B"]
        }
    },

将在以下文件夹中安装列表中提供的包(sourcepackage/package_Asourcepackage/package_Bsourcepackage/package_C):

  • ./packages/package_A
  • ./packages/package_B
  • ./packages/package_C

定义的令牌是

  • $name - 返回包名中 / 之后的部分。例如对于 sourcepackage/package_A 它将是 package_A。如果缺少部分,将返回 undefined
  • $package - 返回完整的包名。
  • $vendor - 与 $name 相同,但用于包名的第一部分。

标志

动态路径定义支持用于操作目标名称的标志。标志从左到右进行解析,因此它们的顺序很重要

目前支持的标志是

  • F - 首字母大写。
  • P - 将所有 _- 后跟一个字符的条目更改为仅该字符,并大写。

用法

标志应在标志变量之后输入,后跟一个竖线 |

例如

    "extra": {
        "installer-paths": {
            "./packages/{$name|FP}": ["sourcepackage/my_package1","sourcepackage/my_package2","sourcepackage/my_package3"]
        }
    },

将安装到以下文件夹中的包

  • ./packages/MyPackage1
  • ./packages/MyPackage2
  • ./packages/MyPackage3

因为标志 F 将第一个字母大写,而标志 P 将删除所有 _(或 -)并将后面的字母大写。