中我没有找到类似的话题,所以我问:笨太多模型的查询控制器
如何克服重复我的所有的CodeIgniter控制器功能相同型号查询的问题?对于我的网站,我在几乎相同的重复数据库查询建立我的页眉和页脚这样的:
class Main extends CI_Controller
{
public function aboutus()
{
$this->load->model("read_db");
$commondata["title"] = "Company - ".lang("aboutus");
$commondata["mainmenu"] = $this->read_db->db_mainmenu();
$commondata["mainprodcat"] = $this->read_db->db_allprodmaincat();
$commondata["bestselling"] = $this->read_db->db_bestselling();
$commondata["brochures"] = $this->read_db->db_allbrochures();
$this->load->view("headerview", $commondata);
$contentdata["aboutus"] = $this->read_db->db_aboutus();
$this->load->view("view_aboutus", $contentdata);
$this->load->view("footerview");
}
public function contact()
{
$this->load->model("read_db");
$commondata["title"] = "Company - ".lang("contact");
$commondata["mainmenu"] = $this->read_db->db_mainmenu();
$commondata["mainprodcat"] = $this->read_db->db_allprodmaincat();
$commondata["bestselling"] = $this->read_db->db_bestselling();
$commondata["brochures"] = $this->read_db->db_allbrochures();
$this->load->view("headerview", $commondata);
$contentdata["aboutus"] = $this->read_db->db_contact();
$this->load->view("contactview", $contentdata);
$this->load->view("footerview");
}
*further functions like this*
}
是否有任何选项外包相同的重复模型调用到另一个函数或文件? 非常感谢您的任何建议。
不是直接的答案,所以我把它写成评论,但你应该考虑缓存这些数据。而不是每次打电话给脚注创建一次,您可以每小时生成一次。 Smarty拥有这样的缓存处理能力,Memcache就是为它设计的,而Redis是wellworth被检出的。 –
@ZsoltSzilagy CodeIgniter有自己的缓存处理,它很不错。 – Shomz
@ZsoltSzilagyKösziZsolt!这是一个好主意,但我想我仍然必须在第一次被调用时生成页面,即使它会被兑现。 – Malvolio