承接 tebazil/yii2-console-runner 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tebazil/yii2-console-runner

最新稳定版本:0.0.0

Composer 安装命令:

composer require tebazil/yii2-console-runner

包简介

Yii2 console command runner that can run without shell_exec() enabled

README 文档

README

Another implementation of Yii2 console command runner. At the time of writing this, it differs from vova07/yii2-console-runner-extension and [toriphes/yii2-console-runner] (https://github.com/toriphes/yii2-console-runner) in that it doesn't require shell_exec to be enabled on the server.

Typical usage would be to run migrate or other of your console application's commands from web application's controller's action.

Installation

The preferred way to install this extension is through composer.

Either run

$ composer require tebazil/yii2-console-runner

or add

"tebazil/yii2-console-runner": "*"

to the require section of your composer.json file.

Basic usage

First you initialize the runner.

$runner = new \tebazil\runner\ConsoleCommandRunner();

Then you run as many commands as you need:

$runner->run('migrate');
$runner->run('migrate\create', ['insert_test_id','interactive'=>false]);

After running each command, you may collect get the exitCode and/or output for the last command.

$output = $runner->getOutput();
$exitCode = $runner->getExitCode();

##How it works On initialization, the runner creates a new console application, then it returns Yii::$app to the application currently executed. When running the command, runner will first replace the Yii::$app with the "child" console application, run the command, and replace Yii::$app back with the parent application. The result is that in console commands you have console application's Yii::$app, and between the runs Yii::$app is your "parent" application, as it was intended.

##Advanced usage You can optionally pass the $config (path or array) to the ConsoleCommandRunner::__construct method, so you can alter console application's configuration on the fly. You might also want to create several runners with different configured applications - each will stick to it's own application, and will respore original Yii::$app between runs.

##Known issues Currently only echo output can be retrieved with getOutput, because standart ob_start/ob_get_clean combination is used to capture the output. If output is being written directly to stdout or stderr, it won't be captured.

统计信息

  • 总下载量: 4.82k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 4
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2015-08-09