中我沒有找到類似的話題,所以我問:笨太多模型的查詢控制器
如何克服重複我的所有的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