Cake 2 Shell:未定义的方法成功()

时间:2013-10-30 10:08:27

标签: php cakephp

我编写了一个使用Cake-Shell方法“success()”的Cake-Shell,但这被声明为undefined。我无法在网络上找到描述该问题的任何主题。我可以说,在几周前,外壳确实运行良好。

的方法调用:

$this->success('success', array());

我通过

在我的Windows-CLI中调用shell
cake ImportItems

并且它明显地贯穿它但是当应该触发$ this-> success()时会抛出错误:

  

致命错误:调用未定义的方法ImportItemsShell :: success()in   第29行的D:\ xampp \ htdocs \ myCake \ app \ Console \ Command \ ImportItemsShell.php

这是我的壳牌代码

require_once('libraries/Ini.php');
class ImportItemsShell extends AppShell {

/**
 * Main fn
 */
public function main() {
    $this->importItems();
}

/**
 * Get called by Cron
 */
protected function importItems() {
    $Shop= new Shop(SHOP_DB); 
    $items = Api::getItems(true);
    $mysql = MySQL::getInstance();
    $res = array();

    if(is_array($items) && ($items['status'] == Api::STATUS_OK)) {
        $Shop->importItems($items['values']);
        $this->success('success', $items['values']);
    } else {
        $this->error('invalid_item_response', array());
    }
}
}

1 个答案:

答案 0 :(得分:1)

错误是正确的,Cake 2.x中没有Shell::success()方法。与可以使用stderrShell::error()写入Shell::err()的错误相反,只需使用stdout将“成功”消息写入Shell::out()

也许只是您的错误报告设置已更改?

有关详细信息,请参阅http://book.cakephp.org/2.0/en/console-and-shells.html