首先,我谷歌了一下“PHP模板引擎”,得到這樣一個網頁:

序言 | Smarty兩種觀點

當PHP出現(xiàn)了模板引擎時,就有了兩種觀點: 第一種觀點是:“PHP本身就是模板引擎”。主張在HTML中" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網站運營 > PHP模版引擎,框架有什么區(qū)別,各有什么用?

PHP模版引擎,框架有什么區(qū)別,各有什么用?

時間:2023-12-20 14:36:01 | 來源:網站運營

時間:2023-12-20 14:36:01 來源:網站運營

PHP模版引擎,框架有什么區(qū)別,各有什么用?:瀉藥。

首先,我谷歌了一下“PHP模板引擎”,得到這樣一個網頁:

序言 | Smarty
兩種觀點


當PHP出現(xiàn)了模板引擎時,就有了兩種觀點: 第一種觀點是:“PHP本身就是模板引擎”。主張在HTML中內使用簡單的PHP代碼。 雖然從純代碼運行觀點來看,這種主張是速度最快的,但有很大的爭議就是內嵌的PHP代碼會 使得HTML凌亂并且非常復雜。


另一種觀點是頁面顯示應該是沒有程序代碼的,轉而用簡單的標簽來顯示內容。 這中主張在別的模板引擎(甚至是其他編程語言)是很常見的,而且也是Smarty的觀點。 這種方式可以讓模板只專注于頁面顯示,避免混合了程序邏輯代碼,更方便管理。


PHP與模板分離的重要性


兩個主要是好處:


  • 語法:模板語法通常是更符合HTML標記的語義。PHP語法可以在程序代碼中運作的很好, 但如何混合在HTML中就不然。Smarty簡單的{標簽}語法是為了表達顯示邏輯而設計的。 Smarty讓你的模板更專注于頁面顯示,而不用關注太多“代碼”。 這可以讓模板開發(fā)得更快速,維護更容易。 學習Smarty的語法不需要懂得PHP的相關知識,程序員或非程序員都能很快上手。

  • 松耦合:當PHP代碼混合在模板中,那將無法約束任意的邏輯代碼被寫到模板上。 Smarty分隔了模板和PHP,控制了頁面顯示和業(yè)務邏輯的分離。 Smarty還有安全特性,可以令模板源碼有強制的約束。


以上,是引用的原文,怕日后死鏈。我想,這個講解了 Smarty 開發(fā)者認為的模板引擎的好處。以下再引用一段:

Smarty不是什么


Smarty不是一個應用開發(fā)框架。Smarty不是一個MVC。Smarty不像Zend Framework, CodeIgniter, PHPCake, 或者其他的PHP應用開發(fā)框架。


Smarty是一個模板引擎,在應用程序中,當作V層(視圖層)的組件來使用。 Smarty可以很輕易連接到其他的視圖引擎中。 和其他的軟件技術一樣,Smarty也有著學習曲線。 Smarty不一定保證良好的程序設計或者達成顯示分離的目的,這還得需要開發(fā)者和模板設計師的努力。


可見,模板引擎,不是框架,更像是框架的 “V層”。有框架的一部分作用,但是,不是框架。

在我個人的工程實踐中,我從沒使用過任何的模板引擎,所以我并無法理解模板引擎的諸多好處。所幸,我使用過框架,主要使用的是 Web 開發(fā)框架。

Web 開發(fā)框架,我認為顯然是可以提高程序員的生產效率的,不管一些極端的人認為它犧牲了什么(諸如“太重”,“性能差”等等幼稚的觀點)。

在我個人的認知里,我更愿意稱框架為一種領域語言。致力于解決 Web 開發(fā)領域的一般性問題而專門提供的開發(fā)組件集合,就可以稱為是 Web 開發(fā)框架了??蚣埽谡Z言的上層提供了更加高級的抽象元素,幫助程序員更快速度構建一個完整的業(yè)務;框架,固化了很多工程實踐領域的最佳實踐方案,幫助程序員少走彎路,直接構建出品質上乘的應用;框架,提供了一整套的約定俗成,幫助互相協(xié)作的程序員快速理解團隊每一個成員的編碼意圖,從而能夠更高效率的協(xié)同開發(fā)和維護一個應用;現(xiàn)代比較新潮的框架(Yii 2.x 或者 Lavarel 等),除了編碼層面,更提供了一整套工程實踐的優(yōu)秀經驗,如包管理、代碼生成、代碼部署方案、數據庫遷移方案、Log方案等等,能極大程度解放程序員的生產力。

PS:

各種框架琳瑯滿目,很多初學者會迷茫,不知選擇為何,我覺得大可不必迷茫,因為主流框架都在趨同,所以逮住一個學透即可。學習框架,重點是理解思想和框架特性設計的原因,不要滿足于會用,做到了的話,哪怕立刻換一個框架,也沒什么大不了的。并無太高切換成本。

關鍵詞:區(qū)別,引擎

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉