相同的数据变量传递给视图

问题描述

| 在我的项目中,我有一个带有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
中使用常量