收集CakePHP 3 Shell输出和错误

时间:2017-08-10 17:24:24

标签: php cakephp

我发现了一篇帖子,展示了如何将shell输出和错误重定向到CakePHP 2.x的文件,关于如何使用CakePHP 3.x的任何想法?

以下是我为CakePHP 2.x

找到的代码段
public function __construct($stdout = null, $stderr = null, $stdin = null) {
    // This will cause all Shell outputs, eg. from $this->out(), to be written to
    // TMP.'shell.out'
    $stdout = new ConsoleOutput('file://'.TMP.'shell.out');

    // You can do the same for stderr too if you wish
    // $stderr = new ConsoleOutput('file://'.TMP.'shell.err');

    parent::__construct($stdout, $stderr, $stdin);
}

但是我收到以下错误

PHP Fatal error:  Class 'App\Shell\ConsoleOutput' not found

CakePHP 3.x中是ConsoleOutput,如果是,那么命名空间是什么?

1 个答案:

答案 0 :(得分:1)

您需要使用以下课程:

use Cake\Console\ConsoleIo;
use Cake\Console\ConsoleOutput;

$output = new ConsoleOutput();
$io = new ConsoleIo($output);