2013-02-11 181 views
4

我想用Smarty刀片(Laravel)模板引擎在CakePHP 2.3中。 有可能嗎?CakePHP模板引擎2.3

如果是,如何?

如果您瞭解CakePHP的其他模板引擎,請告訴我。

+0

之前,我積極地反對在php中的任何模板系統。現在我已經開發了一些使用模板/綁定引擎的js應用程序,我發現純php模板很繁瑣,難以閱讀。儘管與smarty有很糟糕的經歷,但我決定嘗試一下,但沒有成功。我不能說一般情況不好,但你無法用它做任何先進的工作。 CakePHP插件基本上沒有文檔和不完整,所以要做好準備。我不會花太多時間去調用模板引擎無用的開銷,但是你一定要權衡自己的優點和缺點。 – jpeltoniemi 2013-11-28 12:18:18

+0

恕我直言,使用模板引擎的唯一正當理由是,當你想避免來自外國人的直接PHP輸入,但必須給他們一些功能編程。但即使在這種情況下,大多數情況下,像WordPress短標籤的工作更好,很容易解析。 – burzum 2013-12-01 16:20:33

回答

6

是的,這是可能的,你將不得不包裝供應商lib in a view class extending the base view class of CakePHP

但是模板引擎是一個無用的開銷,如果設計者必須學習像{Foo.field} vs echo $ foo ['field'];}這些並不重要。

只是谷歌的「cakephp smarty」和「cakephp樹枝視圖」,你會發現一些東西。如果你真的想要那樣的開銷,即使它被緩存了,我也會爲了Smarty而選擇它。

CakePHP的一個基於OOP的現代視圖解決方案是https://github.com/jameswatts/cake-toolkit,您可以構建自定義對象,根據需要繼承它們,覆蓋它們......通常的面向對象的東西。它甚至可以與模板引擎結合使用。

+0

有一些關於源代碼的外觀:例如。它更像{Foo.field} vs <?php echo $ foo ['field']; ?> – khany 2014-07-11 08:23:07

+0

最好的評論:但是模板引擎是一個無用的開銷,如果設計師必須學習像{Foo.field} vs echo $ foo ['field'];}這些並不重要。 – sudip 2015-03-24 07:42:31

1

這可以幫助ühttp://bakery.cakephp.org/articles/tclineks/2006/10/27/how-to-use-smarty-with-cake-smartyview

但使用的Smarty比傳統的原生PHP模板的決定不應該掉以輕心。雖然Smarty顯然是一個簡單模板的好工具,但它的功能仍然只是大型項目需要的一個子集。 雖然可以通過使用{php}和{/ php}標籤使用原生PHP進行擴展,但這樣做首先會破壞使用安全模板的目的。事實上,Smarty自己的網站陳述 ,「將PHP代碼嵌入模板是非常令人沮喪的。 「 任何其他與您一起工作的開發人員的技能和經驗很可能是決定性因素。如果您是一個項目的唯一工程師,那麼使用 原生模板幾乎肯定會更好。相反,如果項目需要大量設計人員和HTML專家 處理腳本輸出,則Smarty模板是一個更安全的選擇,因爲它們允許這樣的個人操縱應用程序的顯示邏輯以使其內容更加豐富,沒有 觸摸它後面的PHP代碼。