yalesov/zf2-cli

构建 zf2 CLI 应用程序的帮助函数

v2.1.3 2016-07-06 12:26 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:47:33 UTC


README

Build Status

构建 zf2 CLI 应用程序的帮助函数

安装

Composer:

{
  "require": {
    "yalesov/zf2-cli": "2.*"
  }
}

config/cli.local.php.dist 复制到 (应用根目录)/config/autoload/cli.local.php,然后根据以下 设置模板 描述编辑配置。

使用方法

获取 cli 实例

使用服务定位器。

$cli = $locator->get('cli');
$cli = $locator->get('Yalesov\Cli\Cli');

或者手动实例化一个。

$cli = new \Yalesov\Cli\Cli;

模板化文本

通常在 CLI 应用程序中需要显示类似格式的文本,例如章节标题。

设置模板

添加一个名为 section 的模板,输出蓝色字符串 ## %s ##%s 被实际文本替换)。

$cli->addTemplate('section', array(
  'template' => '## %s ##',
  'color'    => 'BLUE',
));
  • template:(可选),%s 作为文本占位符;未设置 = '%s'(纯文本)
  • color:(可选),一个 \Zend\Console\ColorInterface 定义的常量名称;未设置 = 默认 / 正常颜色

您也可以通过配置文件注入模板

return array(
  'di' => array(
    'instance' => array(
      'alias' => array(
        'cli' => 'Yalesov\Cli\Cli',
      ),
      'cli' => array(
        'parameters' => array(
          'templates' => array (
            'section' => array(
              'template' => '## %s ##',
              'color'    => 'YELLOW',
            ),
            'task' => array (
              'template' => '- %s -',
              'color'    => 'BLUE',
            ),
            'module' => array(
              'template' => '[ %s ]',
              'color'    => 'GREEN',
            ),
          ),
        ),
      ),
    ),
  ),
);

这将设置模板 sectiontaskmodule

输出文本

$cli->write('foo', 'section');

这将使用 section 模板输出字符串 foo。在上面的示例设置中,这将输出 ## foo ##,颜色为黄色。

您也可以捕获输出字符串而不是直接打印

$string = $cli->write('foo', 'section', false);