task/console

用于处理 Symfony 的 Console 组件和 Task 的实用工具

v0.4.0 2015-09-08 12:36 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:15:22 UTC


README

Build Status Coverage Status

示例

use Some\Application;
use Task\Plugin\Console\ApplicationPlugin;

$project->inject(function ($container) {
    $app = new Application;
    $container['app'] = new ApplicationPlugin($app)
});

$project->addTask('run', ['app', function ($app) {
    $app->command('run')
        ->setVerbose(true)
        ->pipe($this->getOutput());
}]);

安装

添加到 composer.json

...
"require-dev": {
    "task/console" "~0.2"
}
...

用法

ApplicationPlugin::command() 返回一个 CommandRunner,该 Runner 使用设置方法动态构建命令参数和选项。

给定以下 InputDefinition

[
    new InputOption('option', 'o', InputOption::VALUE_REQUIRED),
    new InputOption('flag', 'f', InputOption::VALUE_NONE),
    new InputArgument('arg', InputArgument::REQUIRED)
]
$project->addTask('run', ['app', function ($app) {
    $app->command('run')
        ->setOption('foo')
        ->setFlag(true)
        ->setArg('wow')
        ->pipe($this->getOutput());
}]);