Smarty

Smarty是一個使用PHP寫出來的模版引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將本來與HTML代碼混雜在一塊兒PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員從新修改頁面不會影響到程序的程序邏輯,這在多人合做的項目中顯的尤其重要。php

 

Smarty優勢:前端

  1. 速度:採用smarty編寫的程序能夠得到最大速度的提升,這一點是相對於其它的模板引擎技術而言的。程序員

  2. 編譯型:採用smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件採用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而再也不進行模板從新編譯(在源程序沒有改動的狀況下)緩存

  3. 緩存技術:smarty選用的一種緩存技術,它能夠將用戶最終看到的HTML文件緩存成一個靜態的HTML頁,當設定smarty的cache屬性爲true時,在smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這至關於調用一個靜態的HTML文件。函數

  4. 插件技術:smarty能夠自定義插件。插件實際就是一些自定義的函數。this

  5. 模板中可使用if/elseif/else/endif。在模板文件使用判斷語句能夠很是方便的對模板進行格式重排。插件

Smarty缺點設計

一、浪費內存。如$_smarty_tpl_vars = $this->_tpl_vars;,兩個變量,佔用了兩倍以上的內存(雖然使用後unset掉了)。
二、浪費處理器。smarty語法最後是要轉換成php腳本供輸出的。轉換要浪費處理器資源。若是是編譯好的緩存中的腳本,則浪費判斷是否有編譯好的腳本的處理器時間。
三、語法不兼容。smarty有本身的一套語法,與PHP不兼容,也和其它的模板語言不兼容。模板引擎也沒有一個統一的通用的語法,各自爲政。htm

四、須要實時更新的內容。例如像股票顯示,它須要常常對數據進行更新,這類型的程序使用smarty會使模板處理速度變慢模板引擎

相關文章
相關標籤/搜索