PHP Codeigniter 单个函数用于所有其他函数


php codeigniter single function for all other function

这是我问题的一些细节。

controller:  
function get_info()  
{  
$user_id = $this->session->userdata['logged_in']['userid']
$this->load->model('message_model');  
$msg_data['msg']=$this->message_model->get_user_msg($user_id); 
$this->load->view('header',$msg_data);  
$this->load->view('content');  
$this->load->view('footer');     
}  
function others_goes_here()  
{  
$user_id = $this->session->userdata['logged_in']['userid']
$this->load->model('message_model');  
$msg_data['msg']=$this->message_model->get_user_msg($user_id); 
LOAD OTHER VIEWS.....    
}
model:
function get_user_msg($user_id)
{
QUERY GOES HERE......
}  

现在我想要实现的是,如何使get_user_msg只调用一次,而无需调用所有其他函数。 希望你们能帮我
,提前谢谢。

创建一个类变量并从构造函数运行get_user_msg

protected $msg_data;
function __construct() {
     parent::__construct();
     $this->load->model('message_model'); 
     $user_id = $this->session->userdata['logged_in']['userid']
     $this->msg_data = $this->message_model->get_user_msg($user_id);
}
function function get_info() {
     $this->load->view('my_view', $this->msg_data);
}

为此使用构造函数

public $user_msg;
function __construct()
{
    parent::__construct();
            $this->load->model('message_model');
            $user_id = $this->session->userdata['logged_in']['userid']
            $this->user_msg=$this->message_model->get_user_msg($user_id);
}
function AllOtherFunctions(){
     $this->user_msg; //you will have it ready every where
}