2013-08-31 117 views
0

海蘭所有,與其他模塊CodeIgniter的模板(HMVC?)

我感興趣的是你對這個話題的意見,因爲我不知道這件事,但我想這樣做的權利。

第一件事第一件事。我知道PHP MVC如何在CodeIgniter中工作和使用它。這就是爲什麼我更喜歡CodeIgniter。但我對其他框架開放。

我喜歡在框架中創建某種CMS(主要是爲了學習和試驗)。我過去玩過OpenCart,我喜歡那個模板系統。它有一個模板文件夾,包含常見,結帳,模塊等單獨的東西。

,你所要做的,以使其所有的唯一的事情是:

$this->template = 'default/template/newsletter/newsletter.tpl'; 
     $this->children = array(
      'common/header',  
      'common/content_top', 
      'common/column_left', 
      'common/column_right', 
      'common/content_bottom', 
      'common/footer' 
     ); 

     $this->response->setOutput($this->render()); 

在笨,這將是這個樣子:

$this->load->view('templates/header', $data); 
    $this->load->view('templates/content_top', $data); 
    $this->load->view('templates/content_left', $data); 
    $this->load->view('pages/'.$page, $data); 
    $this->load->view('templates/content_right', $data); 
    $this->load->view('templates/content_bottom', $data); 
    $this->load->view('templates/footer', $data); 

所以我基本上要的是你已經得到了所有這些單獨的文件(標題,列左,右或其他),並且它們自動地(像某種魔法)被加載到主模板中的正確位置,具有正確的數據(數據是來自控制器/模型)。

我讀過,HMVC是正確的方式來做到這一點。 CodeIgniter的這個「擴展/庫」無處不在,我搜索這個主題:codeigniter-modular-extensions-hmvc

還做了我讀一些有關smarty

是使用HMVC擴展或Smarty的正確的方式還是應該使用一個整體的其他框架?你對此有何看法?

非常感謝您在優勢

UPDATE

一些google搜索後,Laravel也走了過來。它有Blade as template engine。你們有什麼想法?

+0

你可以閱讀更多關於HMVC這裏 http://stackoverflow.com/questions/5454337/mvc -vs-hmvc-for-web-application-development – Nassim

回答

1

我會建議你不要使用任何模板引擎,如果你有大項目,並且你有許多訪客,因爲。模板引擎編譯頁面,並創建一個頁面的緩存文件後,你會發現你有緩存文件的大小超過你的實際項目,我已經使用dwoo模板引擎,但很多緩存文件和問題是我們不能禁用緩存在dwoo我手動刪除,但後來我發現真的很好的模板解析器哪個pyrocms也使用名稱lex,你可以使用這個與phil的模板庫可以解決你的模板partials問題。

這裏是菲爾的模板庫鏈接Template library

,這裏是法模板解析器鏈接Lex Template parser

+0

謝謝你的回答。但是不使用引擎有什麼好處,但是使用庫/解析器? (有什麼不同?) – Mathlight

+0

檢查lex解析器的文檔,你可以使用模板引擎的標籤,如果你想用平面php去,那麼只使用它的板庫,它也具有查看模板partials的功能 – umefarooq