0

我目前正在使用CodeIgniter作爲我的框架使用PHP項目。我看了一下我可能會用到的幾個模板系統 - Strogen的模板系統(目前用於PyroCMS - 如果我沒有錯的話),Twig,Smarty等。wordpress模板系統有多好?

但是我決定自己去從頭開始建立一個。由於我有處理Wordpress模板的經驗,所以我正在考慮創建類似的東西。

爲了讓您瞭解wordpress主題的工作方式--Wordpress有一組幫助收集數據的函數(主題函數)。我想知道如果繼續這樣做對我的項目也是一個好主意?

如果我確實創建了我將在我的視圖中調用的這樣的模板函數,它是否會違背MVC原則?它會以任何方式影響性能?

回答

0

那麼,在MVC中,模型執行數據庫交互,視圖顯示數據,而控制器則是中間數據。如果你在控制器中創建了「模板函數」,我想你會遵守MVC。如果你想說,創建一個庫或幫助程序來收集/處理數據,你將不會遵守MVC約定。 AFAIK,這是你選擇哪種方式的偏好問題。就性能而言,您可以使用分析來測試哪個更好。但是,如果你的目標是爲CI創建一個類似於WP的模板系統,只是因爲你熟悉WP模板的工作方式,我會發現它可能會讓你花費大量的時間來學習新的比建立自己的。我也可以想象,學習新版本比學習WP版本要花費更少的時間。

此外,我認爲pyro使用Phil的模板和smarty的組合,但不積極。菲爾有一個可用於CI的模板系統:https://github.com/philsturgeon/codeigniter-template可能值得一試。

歡呼聲。

+0

感謝您的回答風暴。我決定使用wordpress模板樣式,不僅僅是因爲我熟悉它 - 還因爲我的模板將獨立於控​​制器。從某種意義上說,如果我要在我的主題中包含另一個小部件,我不需要編輯我的控制器來爲我獲取它。模板中的功能是否正確? – Sterex

+0

我不知道我明白... CI小工具? WP小工具? CI具有小部件/模塊可用性,其中小部件/模塊是自包含的並且可以從視圖中調用。這意味着您可以將一個登錄框添加到您的視圖中,而不會混淆主頁的控制器。看看這是否有幫助:http://codeigniter.com/forums/viewthread/109584 – stormdrain