Codeigniter模型中的静态变量

时间:2012-12-28 11:01:51

标签: php codeigniter logging model static

用户登录后 - 我希望我的所有模型都知道用户的ID。 (即使他们稍后被召唤)。

我考虑过使用静态变量,但它似乎不起作用

class Base_model extends CI_Model {
    static protected $user_id;
}

class Log_in_model extends Base_model {
    public function log_in(){
        self::$user_id = 69;
    }
}

class A_model extends Base_model {
    public function do_A(){
        echo self::$user_id;
    }
}

class B_model extends Base_model {
    public function do_B(){
        echo self::$user_id;
    }
}

1 个答案:

答案 0 :(得分:0)

初始化会话

$this->load->library('session');

用户登录后,将userdata保存在会话userdata

$newdata = array(
               'username'  => 'USERNAME',
               'email'     => 'EMAIL',
               'user_id'   => 'USERID',
               'logged_in' => TRUE
           );

$this->session->set_userdata('userdetails',$newdata);   //setting data in session with a name userdetails 

获取会话userdata ..

 print_r($this->session->userdata('userdetails'));  //get userdetails from session

从会话使用中销毁用户详细信息..

$this->session->unset_userdata('userdetails'); 

如果你想阅读更多关于会话的内容,那么请阅读..

http://ellislab.com/codeigniter/user-guide/libraries/sessions.html