作爲我正在開發的一個大學項目(基於自定義MVC的項目管理系統)的一小部分,我需要開發一個模板引擎。我不想使用像Smarty這樣的自我係統,因爲我自己編寫了項目的所有其他部分,現在不想再回頭了。定製PHP模板引擎
無論如何,我已經成功地編寫一些簡單的,到目前爲止,我有一個類,創建它的一個實例,一些數據添加到實例,然後傳遞一個模板文件。該文件具有一系列標籤,例如{this},然後替換爲數據。簡單。
我遇到的問題是,當涉及到循環的東西 - 即用戶的表或類別的列表。目前,我有一個頁面模板文件(users.html),其中包含開始和結束標記,並在它們之間有一個名爲{users}的模板標記。然後我有另一個模板文件(users-detail.html),它顯示一個包含用戶信息的表格行。我正在創建一個users-detail.html模板的新實例,添加數據,解析它,然後將輸出(HTML的字符串)到數組中。然後,我循環這個數組,將所有字符串連接在一起,然後將其分配給users.html模板文件中的{users}標記。
正如你可能從這個解釋中得知的那樣,它有點不穩定,並且可能有更好的方法來完成我試圖實現的目標。理想情況下,我希望儘可能避免在模板文件中使用PHP,並且我經常需要在一個模板文件中有多個循環。
如果任何人有任何關於如何實現這一點的提示/建議,或任何教程,我可以按照獲得一些靈感,將不勝感激。
在此先感謝。
查看h2o模板的源代碼 - https:// github。com/speedmax/h2o-php - 應該幫助你在路上 – kieran
爲什麼不看看現有的模板引擎的代碼,你有什麼需要並從中學習?什麼比實際例子更好? – hakre