在codeigniter中传递所有控制器中的可变数据

时间:2018-03-07 10:24:10

标签: json codeigniter session

我使用codeigniter开发一个网站。我想将一个特定的数据传递给所有的控制器。我搜索并找到它可以通过下面的会话来完成。



$var = $this->session->userdata('passingdata');




但是当清除历史记录和会话到期时,此数据会丢失。

是否有其他方法可以将变量传递给所有控制器。

1 个答案:

答案 0 :(得分:2)

你可以试试这个   - 在application / core中创建MY_Controller。它看起来像

Class MY_Controller extends CI_Controller {

public function __construct() {
    parent::__construct();
    $this->load->model('HomeModel');
    $this->global_data['settings']= $this->HomeModel->getSettings();
}

function display_view($view, $local_data = array()) {
    $data = array_merge($this->global_data, $local_data);
    return $this->load->view($view, $data);
}}

然后在所有控制器中扩展此控制器

你的控制器中的功能如

 Class Home extends MY_Controller {
 public function index() {
    $data['title'] = 'test';       
    $this->display_view('home', $data);

}

}