问题描述
|
在我的项目中,我有一个带有3个选择框的搜索部分。我将值传递给它
$data[\'restaurant_all\']=$this->restaurant_model->get_all(\'\',\'\',\'yes\')->result();
$data[\'state_all\']=$this->state_model->get_all();
$data[\'menu_all\']=$this->menu_model->get_all(\'all\',\'yes\')->result();
$data[\'restaurant\']=$this->input->post(\'restaurant\');
$data[\'state\']=$this->input->post(\'area\');
$data[\'food_type\']=$this->input->post(\'menu\');
我的所有页面都需要此声明。以任何方式无需在所有页面中编写这些语句即可完成此操作
解决方法
一种。通过在合适的位置创建文件MY_Contoller.php扩展默认控制器。
b。创建一个将扩展默认控制器的自定义类。
C。将一个受保护的或公共变量$ data添加到自定义类。
e。使用__construct()处理数据
d。使每个控制器扩展自定义控制器。
e。您可以像访问其他任何类变量一样访问此变量。
示例代码:
MY_Controller.php
class APP extends CI_controller {
protected $data;
function __construct() {
parent::__construct();
$this->_init();
}
function _init() {
$this->data[\'state\'] = $this->input->post(\'area\');
}
}
普通控制器:
class Welcome extends APP {
function __construct() {
parent::__construct();
}
function view() {
/* pass this data value like normal data param */
$this->load->view(\'some_view\',$this->data);
}
}
希望能帮助到你。
, 在/config/constants.php
中使用常量