heartsentwined / 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 复制到 (app root)/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);