[英]how can I store $data array for all methods in a controller
我有一些控制器中所有方法都需要的數據數組。
$data['project_ongoing_res_limit']=$this->admin_model->show_project_ongoing_residential_limit();
$data['project_ongoing_com_limit']=$this->admin_model->show_project_ongoing_commercial_limit();
$data['project_upcoming_res_limit']=$this->admin_model->show_project_upcoming_residential_limit();
$data['project_upcoming_com_limit']=$this->admin_model->show_project_upcoming_commercial_limit();
$data['project_completed_res_limit']=$this->admin_model->show_project_completed_residential_limit();
$data['project_completed_com_limit']=$this->admin_model->show_project_completed_commercial_limit();
問題是我不能干這個。 所以我已經在每個方法中粘貼了這個$ data數組。
我有一個查看頁面。 因此,當我加載該視圖時,每次/方法都必須在$ data數組上方加載。 當控制器方法過多時,這令人惡心。
我想要這樣的一段代碼,如構造函數。 我怎樣才能做到這一點。
您可以為此使用特征。 在特征中定義您的方法,然后在控制器中使用該特征。
您可以創建一個helper class
在helper class
中創建一個function
並將上面的代碼放入其中,但要確保無法使用$this
訪問model
因此,需要創建CI instance
並進行訪問。 之后,在construct
方法的controller
中,您只需要調用此函數,但不要忘記加載helper class
並將其存儲在變量中,並將其與view
一起傳遞。
只需在控制器類中創建私有數據變量即可。 比在構造函數中設置數據。 現在,您可以使用所需的任何方法訪問數據。
class Pages extends CI_Controller {
// ...
private $data;
// ...
public function __construct() {
parent::_construct();
$this->data = array();
$this->data['project_ongoing_res_limit']=$this->admin_model->show_project_ongoing_residential_limit();
$this->data['project_ongoing_com_limit']=$this->admin_model->show_project_ongoing_commercial_limit();
$this->data['project_upcoming_res_limit']=$this->admin_model->show_project_upcoming_residential_limit();
$this->data['project_upcoming_com_limit']=$this->admin_model->show_project_upcoming_commercial_limit();
$this->data['project_completed_res_limit']=$this->admin_model->show_project_completed_residential_limit();
$this->data['project_completed_com_limit']=$this->admin_model->show_project_completed_commercial_limit();
}
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.