我正在清理用CodeIgniter编写的Web应用程序。每个主视图都有一个侧边栏,显示一些常见的数据库驱动数据 - 最近的更新,新闻等。我有缓存的查询,以帮助加快速度,但我也在寻找一种更好的方法来实现这一目标。
现在每个控制器加载模型,加载$data
数组并将其传递给视图。
我已经扩展了主要的CI控制器类,并且没有在构造函数中加载数据,这简化了代码,但我仍然觉得应该有更好的方法。有什么建议吗?
答案 0 :(得分:0)
不确定这是不是你要问的,但你可以有一个额外的父/基本控制器来加载重复数据,如新闻,更新等......
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 );
}
}