在 CodeIgniter 3 中,要在不同的 controller 中使用相同的變數,可以有以下幾種方法:

  1. 使用 Session:可以將變數儲存在 Session 中,這樣它們在不同的 controller 中都可以被使鞥。

  2. 使用 Model:可以將變數儲存在一個 model 中,並在需要的 controller 中呼叫這個 model。

  3. 使用 Config:可以將變數儲存在一個 config 文件中,並在不同的 controller 中讀取這個檔案。

使用 Session

在一個 controller 中設定變數:

// 在 Controller A 中
$this->load->library('session');
$this->session->set_userdata('my_var', 'some value');

在另一個 controller 中讀取變數:

// 在 Controller B 中
$this->load->library('session');
$my_var = $this->session->userdata('my_var');
echo $my_var;

 

使用 Model

建立一個 model 來儲存變數:

// application/models/Variable_model.php
class Variable_model extends CI_Model {
    private $my_var;

    public function set_var($value) {
        $this->my_var = $value;
    }

    public function get_var() {
        return $this->my_var;
    }
}

在一個 controller 中設定變數:

// 在 Controller A 中
$this->load->model('Variable_model');
$this->Variable_model->set_var('some value');

在另一個 controller 中取得變數:

// 在 Controller B 中
$this->load->model('Variable_model');
$my_var = $this->Variable_model->get_var();
echo $my_var;

 

使用 Config

創建一個 confog 檔來儲存變數:

// application/config/my_config.php
$config['my_var'] = 'some value';

在不同的 controller 中讀取 config 檔並讀取變數:

// 在 Controller A 或 B 中
$this->config->load('my_config');
$my_var = $this->config->item('my_var');
echo $my_var;

這三種方法都可以幫助你在不同的 controller 中共享變數,根據你的具體需求選擇最適合的方法即可。