为HMVC codeigniter设置全局变量

时间:2017-02-22 09:48:19

标签: php codeigniter

我是codeigniter的新手。 我想为我的助手,模型和控制器设置一个全局变量。 变量来自数据库..

以下是示例:

不知道将变量置于何处

 $this->load->model('test');
 $data = $this->test->get_code();
 $this->code = $data["code"]; //main global variable

我的助手

function test() {
    if($this->code=="test") {

    }
}

我的控制器

function index() {
    echo $this->code;
}

我的模特

function get_data() {
     $query = $this->db->get_where('my_table', array('code' => $this->code));
     return $query->row_array();
}

正如您可以看到我上面的脚本,$this->code几乎用于my helpermy controllermy model。 我应该把变量放在哪里,以便我可以只使用$this->code来访问变量?

2 个答案:

答案 0 :(得分:1)

你可以在应用程序/核心文件夹中的扩展MX_Controller中创建MY_Controller,并在Application / module中扩展MY_Controller创建你自己的controller.EX见下文

declare module 'node-helper-lib'

答案 1 :(得分:1)

尝试将数据放入会话:

$this->load->model('test');
$data = $this->test->get_code();

$this->load->library('session');    
$this->session->set_userdata('name' => $data );

function test() {
  $this->load->library('session');
  $data = $this->session->userdata('name');
    if($data=="test") {

    }
}

function index() {
    $this->load->library('session');
    $data = $this->session->userdata('name');
}

您可以在每个功能中使用无负载的会话, 添加config / autoload.php

    $autoload['libraries'] = array('session');