Kohana 3.2 auth模块和致命错误

时间:2012-07-20 08:18:04

标签: php web-applications kohana-3.2

这不是一个严肃的问题。 但我在kohana 3.2中发现了一些东西(我不明白)

所以,我已经使用Auth模块实现授权 并且始终使用此代码检查授权。

//in controller
    if(Auth::instance()->get_user() == null)// not login
    {
         $this->request->redirect("authen/login"); //navigate to login page
    }

工作正常!!

然后我尝试将此代码放入视图文件中。 (视图文件中的任何位置)

<?php $dummy->dummy()?>

所以,这段代码会像这样产生错误

Fatal error: Call to a member function dummy() on a non-object

它看起来像普通情况,因为$ dummy未定义

然后我刷新它或导航到其他页面

Auth::instance()->get_user() == null // it become true, after fatal error happen !! and redirect me to login page

我的问题是   - 为什么'Auth :: instance() - &gt; get_user()'在发生致命错误后返回null

有人分享这个吗?

1 个答案:

答案 0 :(得分:0)

您应该检查用户是否已登录:

if ( ! Auth::instance()->logged_in())
    $this->request->redirect("authen/login");