在 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 中共享變數,根據你的具體需求選擇最適合的方法即可。