CakePHP 2.0.3对象上的致命错误flash()

时间:2011-11-17 09:57:54

标签: cakephp fatal-error cakephp-2.0

当我尝试使用错误的控制器时,我收到此消息,并且我发现我没有从cakephp获得正确的错误我在2.0.0中得到了正确的错误:

现在,当我尝试使用错误的控制器时,我只收到这条消息:

Fatal error: Call to a member function Flash() on a non-object in
/srv/www/htdocs/web843/HTML/schaetzmal/lib/Cake/View/Layouts/default.ctp
on line 44

cakephp 2.0.3是否有错误,或者我错过了要安装的东西以便让我或其他什么工作?

2 个答案:

答案 0 :(得分:5)

确保已将会话助手添加到公共$helpers阵列。

class SomethingsController extends AppController {
    public $helpers = array('Session');
}

或者您可以将其添加到a global AppController,以便会话助手可供所有控制器使用。

class AppController extends Controller {
    public $helpers = array('Session');
}

答案 1 :(得分:0)

我发现AppController无法正常工作的问题。

就像mensch说我必须在我的AppController中使用Session来表示全局,但这不是解决方案,因为cakephp的书中写道“a global AppController

  

注意   CakePHP将以下变量从AppController合并到应用程序的控制器:

     
      
  • $ components
  •   
  • $助手
  •   
  • $用途
  •   

但它没有发生。因为我在公共变量$helpers中覆盖它。 因此,我将父母给予一个并将其合并:

<?

class AppController extends Controller {

    public $viewClass   = 'Theme';
    public $theme;

    public function beforeFilter() {
        parent::beforeFilter();
        $this->theme = 'SM';
        $this->helpers = array('Form','Html','Js');
    }

}

?>

$this->helpers = array('Form','Html','Js');执行合并,它运行正常。 谢谢你们

感谢帮助那些我需要的黑客