這篇文章主要介紹了PHP模板引擎smarty詳細介紹,本文講解了什么是smarty、smarty優點、不適合使用smarty的地方、smarty目錄結構及版本,需要的朋友可以參考下
/*
一、什么是smarty?
smarty是一個使用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可以自定義插件。插件實際就是一些自定義的函數。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
三、不適合使用smarty的地方:
1. 需要實時更新的內容。例如像股票顯示,它需要經常對數據進行更新,這類型的程序使用smarty會使模板處理速度變慢。
2. 小項目。小項目因為項目簡單而美工與程序員兼于一人的項目,使用smarty會喪失php開發迅速的優點。
四、smarty目錄結構及版本
打開smarty的官方網站,www.smarty.net/download.php。下載Smarty 3.1.12。有tar.gz和zip分別適用于linux和windows版本。
下載好后Smarty-stable-3.1.12解壓縮會得到一個 Smarty-3.1.12 文件夾,里面有兩個主要文件夾demo和libs
demo文件夾為示例文件夾,里面包含默認文件夾結構,是我們要進行編寫程序代碼的主要文件夾。demo里文件夾的名稱都是smarty默認的目錄結構名稱,可以通過改smarty對應屬性值,再把文件夾名改成我們想要的名稱。
libs為smarty代碼源文件夾,一般不動。
/libs/Smarty.class.php #主文件
/libs/sysplugins/ #內部plugin
/libs /plugins/ #外部plugin,可自由擴充
/demo/cahce/ #放置緩存文件
/demo/configs / #放置可以載入的配置文件
/demo/templates/ #放置模板文件
/demo/templates_c/ #放置對模板編譯后的文件
可以把解壓得到的 Smarty-3.1.12 文件夾名改成我們想要的項目名,demo也可以改成我們想要的具體存放編碼的文件夾的名稱
2、調試Smarty-3.1.12
創建自己的文件,在demo文件夾下創建index.php。
在templates目錄中創建模板index.tpl
(幾乎可以是任何文本文件的擴展名,常用的是tpl,php,html,不建議使用后兩者,因為可以從瀏覽器直接訪問而不安全??梢詫pache的httpd.conf進行設置,禁止直接訪問.tpl文件。或者將templats目錄放在網站文檔樹之外。)
*/
//index.php代碼
require('../libs/Smarty.class.php');
$smarty = new Smarty;
//在調用的模板里可以通過{$name}來輸出name的值zhang,{}為這里的smarty分界符
$smarty->assign('name','zhang');
新聞熱點
疑難解答