【发布时间】:2012-03-24 08:33:32
【问题描述】:
我正在使用版本为 2.1.0 的 CodeIgniter。我想使用 Hooks 进行登录验证。这意味着我希望在每个控制器中检查会话数据是否已登录。所以我想使用钩子。为此,我执行以下代码:
在配置文件中
$config['enable_hooks'] = TRUE;
在文件hooks.php
$hook['post_controller_constructor'][] = array(
'class' => 'SessionData',
'function' => 'initializeData',
'filename' => 'loginHelper.php',
'filepath' => 'hooks',
'params' => array()
);
在文件loginHelper.php
class SessionData{
var $CI;
function __construct(){
$this->CI =& get_instance();
}
function initializeData() {
// This function will run after the constructor for the controller is ran
// Set any initial values here
if (!$this->session->userdata('username')) { // This is line 13
redirect('login');
}
}
}
但它会引发以下错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: SessionData::$session
Filename: hooks/loginHelper.php
Line Number: 13
我该如何解决这个问题?
【问题讨论】:
标签: php codeigniter codeigniter-2