非对象上的成员函数check()

时间:2010-07-02 15:27:48

标签: cakephp cakephp-1.2

我正在使用cakePHP 1.26。 在.ctp文件中,我有一些像这样的代码:

$sess = $this->Session->check('user');
if($sess){
// do soemthing
}
else{
// do soemthing then
}

但是我得到了这个错误:

  

致命错误:调用成员函数   check()在非对象中   /home/vol12/mysite.com/htdocs/app/views/layouts/testing1.ctp   在第10行

我可以在.ctp文件中使用Check方法来检查会话是否存在吗?

2 个答案:

答案 0 :(得分:3)

当然,有一个会话组件可供控制器使用,引用为$this->Session。您正在寻找的是我认为可供视图使用的会话帮助。这简称为$session,IIRC。我想验证(我必须使用它已经有一段时间了),但目前无法在文档中找到它。我认为你想要的是:

$sess = $session->check('user');

答案 1 :(得分:1)

我可以在1.2.5中执行此操作:

if ($session->read('Auth.User')){ ... }

请参阅手册:http://book.cakephp.org/view/484/Session这是简短但明确的。 请注意,您无法从视图中写入会话。