【问题标题】:a member function check() on a non-object非对象上的成员函数 check()
【发布时间】:2010-07-02 15:27:48
【问题描述】:

我正在使用 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 方法来检查会话是否存在吗?

【问题讨论】:

  • 1.26 中的 Session 是否存在 check()?我知道 1.3...

标签: cakephp cakephp-1.2


【解决方案1】:

当然,有一个用于控制器的会话组件,它被称为$this->Session。我认为您正在寻找的是可用于视图的会话 helper。这被简单地称为$session,IIRC。我想验证这一点(我不得不使用它已经有一段时间了),但目前在文档中找不到它。我认为你想要的是:

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

【讨论】:

  • 同意。助手调用不需要$this
【解决方案2】:

我可以在 1.2.5 中做到这一点:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    相关资源
    最近更新 更多