praxigento / composer_plugin_templates
Composer插件,用于从模板文件集和配置参数文件中创建本地特定配置。
1.0.8
2016-09-07 13:44 UTC
Requires
- php: >=5.3.0
- composer-plugin-api: ^1.0
Requires (Dev)
- composer/composer: ~1.0@dev
- mockery/mockery: ^0.9.4
- phpunit/phpunit: 4.4.*
README
这是什么?
PHP Composer的插件,用于从模板文件集和配置参数文件中创建本地特定配置。模板处理发生在任何Composer命令之前(不包括'install',因为插件在执行命令之前未安装)。
安装
将以下内容添加到项目的 composer.json
{
"require": {
"praxigento/composer_plugin_templates": "*"
}
}
用法
设置配置文件
创建插件配置文件(例如 ./templates.json)并在项目的 composer.json 中设置 extra.praxigento_templates_config 参数:
{
"extra": {
"praxigento_templates_config": "./templates.json"
}
}
插件可以使用多个配置文件,所有文件的数据将合并到一个配置结构中
{
"extra": {
"praxigento_templates_config": ["./under_vc.json", "./not_under_vc.json"]
}
}
当模板集对所有实例都相同时(此配置部分可以置于版本控制下),并且变量(全部或部分)对每个实例都是唯一时,这可能很有用。
配置文件结构
./templates.json
:
{
"vars": {
"MYSQL_HOST": "localhost",
"MYSQL_USER": "magento_github_user",
"MYSQL_PASSWORD": "s8pTo3X5QCsr4SkY48zF",
"MYSQL_DBNAME": "magento_github_db"
},
"templates": {
"local.xml": {
"src": "test/tmpl/local.xml",
"dst": "test/mage/app/etc/local.xml",
"rewrite": true
},
"dump.sh": {
"src": "test/tmpl/dump.sh",
"dst": "test/bin/dump_db/dump.sh",
"rewrite": true
}
}
}
vars
模板的占位符集合 ${MYSQL_HOST}
和值 localhost
将被插入到模板中
{
"vars": {
"MYSQL_HOST": "localhost",
"MYSQL_USER": "magento_github_user",
"MYSQL_PASSWORD": "s8pTo3X5QCsr4SkY48zF",
"MYSQL_DBNAME": "magento_github_db"
}
}
templates
要处理的模板集合(install、update、status等每个Composer命令)
{
"templates": {
"local.xml": {
"src": "test/tmpl/local.xml",
"dst": "test/mage/app/etc/local.xml",
"rewrite": true
},
"dump.sh": {
"src": "test/tmpl/dump.sh",
"dst": "test/bin/dump_db/dump.sh",
"rewrite": true,
"condition": {
"var": "MYSQL_HOST",
"operation": "!=",
"value": "localhost"
}
}
}
}
标签(local.xml
& dump.sh
)仅用于参考。
- src: (必需) 模板文件的路径;
- dst: (必需) 结果文件的路径(占位符将被其值替换);
- rewrite: 'true' 表示如果存在则重写目标文件(默认为'false');
- condition: 处理此模板文件的条件;
- var: 条件左部分的变量名称;
- operation: 两个操作之一('=' 或 '!=');
- value: 比较的字符串值(操作右部分);
许可证
本软件包的所有内容均受MIT许可证的许可。