【问题标题】:CodeIgniter - every controller need 3 variables passed to viewsCodeIgniter - 每个控制器需要 3 个变量传递给视图
【发布时间】:2013-12-14 14:50:23
【问题描述】:

我正在清理一个用 CodeIgniter 编写的 Web 应用程序。每个主视图都有一个侧边栏,显示一些常见的数据库驱动数据 - 最近更新、新闻等。我缓存了查询以帮助加快速度,但我也在寻找更好的方法来实现这一点。

现在每个控制器加载模型,加载 $data 数组并将其传递给视图。

我已经扩展了主要的 CI 控制器类,并且没有在构造函数中加载数据,这稍微简化了代码,但我仍然觉得应该有更好的方法。有什么建议吗?

【问题讨论】:

标签: php codeigniter


【解决方案1】:

不确定这是否是您要问的,但您可以有一个额外的父/基本控制器来加载重复数据,如新闻、更新等...

class baseController extends CI_Controller {


    public function __construct(){
        parent::__construct();
    }

    function viwe($view = 'defualt' , $data = array()){

      $data['updates'] = $this->db->get('updates');
      $data['news']    = $this->db->get('news');
      $this->load->view($view , $data );
    }

}

另一个控制器:

include "baseController.php";
class another extends baseController {

    public function __construct(){
        parent::__construct();
    }

    function index()
    { 
        $data['thisData']  = $this->db->get('thisdata'); 
        $this->view('thisView' , $data  );
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多