yalesov / zf2-cli
构建 zf2 CLI 应用程序的帮助函数
v2.1.3
2016-07-06 12:26 UTC
Requires
- php: >=5.3.3
- yalesov/arg-validator: 2.*
- zendframework/zend-console: 2.*
Requires (Dev)
README
构建 zf2 CLI 应用程序的帮助函数
安装
{ "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', ), ), ), ), ), ), );
这将设置模板 section
、task
和 module
。
输出文本
$cli->write('foo', 'section');
这将使用 section
模板输出字符串 foo
。在上面的示例设置中,这将输出 ## foo ##
,颜色为黄色。
您也可以捕获输出字符串而不是直接打印
$string = $cli->write('foo', 'section', false);