我正在使用codeigniter会话类(自动加载)。如何设置初始值?我需要这个,因为我想初始化默认语言。
最好的问候......
答案 0 :(得分:3)
要将数据初始化到会话中,您可以使用hooks。
您可以使用post_controller_constructor
挂钩(在pre_controller
挂钩中,会话可能尚未加载)。
打开config/hooks.php
并添加:
$hook['post_controller_constructor'][] = array(
'class' => 'SessionData',
'function' => 'initializeData',
'filename' => 'SessionData.php',
'filepath' => 'hooks',
'params' => array()
);
然后在hooks
文件夹中创建一个名为SessionData.php
的文件,其中包含以下内容:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
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('language')){
$this->CI->session->set_userdata('language', 'English');
}
}
}
?>