praxigento/composer_plugin_templates

Composer插件,用于从模板文件集和配置参数文件中创建本地特定配置。

1.0.8 2016-09-07 13:44 UTC

This package is auto-updated.

Last update: 2024-09-09 23:55:12 UTC


README

Build Status

这是什么?

PHP Composer的插件,用于从模板文件集和配置参数文件中创建本地特定配置。模板处理发生在任何Composer命令之前(不包括'install',因为插件在执行命令之前未安装)。

screenshot

安装

将以下内容添加到项目的 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许可证的许可。