我正在使用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方法来检查会话是否存在吗?
答案 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这是简短但明确的。 请注意,您无法从视图中写入会话。