0

我试图从 cakephp 外壳中简单地将“hello world”写入文件,并计划最终使用我们的产品模型编写 sitemap.xml 文件。我发现了这个:让我开始的问题......

但是我认为Cake 1.3.6(我正在使用)不支持ConsoleOutput,或者我需要包含包含它的类。

尝试从终端运行文件时出现的错误: PHP 致命错误:第 7 行的 /public/vendors/shells/sitemap.php 中未找到 Class 'ConsoleOutput'

这是我的代码:

class SitemapShell extends Shell {

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);
}

public function main() {
    // The following output will not be printed on your console
    // but be written to TMP.'shell.out'
    $this->out('Hello world');
}

}
4

1 回答 1

1

您是正确的,CakePHP 1.3 中没有 ConsoleOutput 功能-您可以升级到版本 2.* 吗?

如果没有,您可以只使用常规 PHP:

$fp = fopen('hello.txt', 'w');
fwrite($fp, 'hello world');
fclose($fp);

希望这可以帮助。

托比

于 2013-04-03T15:09:27.880 回答