在 CodeIgniter 3 中,要在不同的 controller 中使用相同的變數,可以有以下幾種方法:
-
使用 Session:可以將變數儲存在 Session 中,這樣它們在不同的 controller 中都可以被使鞥。
-
使用 Model:可以將變數儲存在一個 model 中,並在需要的 controller 中呼叫這個 model。
-
使用 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 中共享變數,根據你的具體需求選擇最適合的方法即可。