eoko / zf-console
1.0.0
2015-06-28 17:04 UTC
Requires
- php: >=5.5
- mustache/mustache: ~2.8
- thunderer/shortcode: ~0.3
- zendframework/zend-console: ~2.5
- zendframework/zend-stdlib: ~2.5
Requires (Dev)
- fabpot/php-cs-fixer: 1.7.*
- mockery/mockery: ^0.9
- phpunit/phpunit: ^5.0@dev
- satooshi/php-coveralls: ^0.7.0@dev
- zendframework/zend-filter: ~2.5
- zendframework/zend-json: ~2.5
- zendframework/zend-servicemanager: ^2.5@dev
- zendframework/zend-validator: ~2.5
This package is not auto-updated.
Last update: 2024-09-18 09:30:31 UTC
README
目标
使用伪语言和非常灵活的结构在控制台输出。例如
$this->warn('this is not cool'); // [DONE] should output red text $this->msg('[warn]not cool again[vvvv] with very verbose text[/vvvv][/warn]'); // [DONE] should output red text. // [TODO] get verbosity from outside and if console is verbose, add the vvvv text $this->msg('Hello {{username}} !', ['username' => 'merlin']); // [DONE] should output "Hello merlin" $this->msg('[notice]Hello {{username}} ![/notice]'); // [DONE] should output "Hello merlin" in blue
控制器插件
在CLI中,在任意控制器内,你可以访问一个新的插件 message
。
输出样式文本
为了样式,我们在简码上预注册了格式化器。
$this->message()->show('text'); $this->message()->notice('notice'); // eq to $this->message()->show('[msg fg="blue"]notice[/msg]'); $this->message()->success('success'); // eq to $this->message()->show('[msg fg="green"]success[/msg]'); $this->message()->comment('comment'); // eq to $this->message()->show('[msg fg="yellow"]comment[/msg]'); $this->message()->warn('warn'); // eq to $this->message()->show('[msg fg="magenta"]warn[/msg]'); $this->message()->danger('danger'); // eq to $this->message()->show('[msg fg="red"]danger[/msg]'); $this->message()->show('[msg fg="white" bg="red"]kkkkk[/msg]');
使用变量输出文本
$this->message()->show('[msg fg="white" bg="red"]{{text}}[/msg]', ['text' => 'My custom text']); $this->message()->show('[warn]{{msg}}[/warn]', ['msg' => 'Warn message']);
快速示例
class IndexController extends AbstractActionController { public function indexAction() { $this->message()->show('[msg level="warn"]my message : [danger]{{message}}[/danger][/msg]', array('message' => '[danger]wololo[/danger]')); $this->message()->show('[msg fg="white" bg="red"]warn : message {{a}}[/msg]', array('a' => 'd\'exemple!')); $this->message()->info('info : message {{a}}', array('a' => 'd\'exemple!')); /** @var Message $message */ $message = $this->getServiceLocator()->get('eoko.console.message'); $message->show('[comment]example[/comment]'); return new ViewModel(); $this->message()->show('[verbose verbosity="v"][v]this is v[/v] not [vv]vv[/vv][/verbose]'); } }