idct / composer-custom-directory
一个 composer 插件,用于在默认 composer 安装路径(位于 `vendor` 文件夹)之外的自定义目录中安装不同类型的 composer 包。
dev-master / 1.0.x-dev
2015-02-11 12:25 UTC
Requires
- php: >=5.4
- composer-plugin-api: *
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.json
的require
部分 - 例如
"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_A
、sourcepackage/package_B
、sourcepackage/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
将删除所有 _
(或 -
)并将后面的字母大写。