經常使用PHP模板引擎介紹
smarty,是全部PHP模板引擎的老祖宗,其它PHP模板引擎都是基於Smarty進行的二次開發。
Template Lite
TinyButStrong
XTemplate
Savant
phemplate
Dwoo
Sugar
Twig
FXL Template
H2o
ns-template
Bladephp
Smarty就是php開發的模板引擎
Smarty就是一個類文件數組
Smarty下載和目錄結構
第1個Smarty案例
緩存
Smarty的經常使用配置
1修改左右定界符。
Smarty變量的左右定界符,默認是」{和}」。可是能夠修改。
修改Smarty的左右定界符
bash
Smarty經常使用目錄的配置
設置和讀取視圖文件目錄:ide
設置:$smarty->setTemplateDir(目錄名) 讀取:$smarty->getTemplateDir(),結果是一個數組。
設置和讀取配置文件目錄:函數
設置:$smarty->setConfigDir(目錄名) 讀取:$smarty->getConfigDir()
設置和讀取編譯目錄3d
設置:$smarty->setCompileDir(目錄名) 讀取:$smarty->getCompileDir()
設置和讀取緩存目錄code
設置:$smarty->setCacheDir(目錄名) 讀取:$smarty->getCacheDir()
Smarty.class.php的構造方法,已經初始化了相關目錄設置orm
修改視圖文件的工做目錄
舉例說明
server
Smarty中的變量
1普通變量
除了資源外,其餘變量在視圖文件均可以使用。視圖文件中,通常不會有對象變量的。
2保留變量
1 )訪問九大超全局數組變量
保留變量,就是Smarty中規定好的變量,好比:九大超全局數組變量,預約義常量,時間戳等。
保留變量,不須要經過控制器項視圖傳值,直接在視圖中獲取保留變量。
注意:$smarty變量是固定的,表明當前Smarty對象。
訪問PHP預約義變量
Smarty時間戳
Smarty配置文件變量
定義配置文件(./Home/Conf/myConfig.ini)
有一些簡單的變量,前段人員能夠自行定義並調用,不須要經過控制器向視圖傳值。
設置配置文件的工做目錄:
$smarty->setConfigDir(目錄名)
讀取配置文件的工做目錄:
$smarty->getConfigDir(),返回一個數組。
Smarty配置文件的擴展名,通常以 .ini 或 .conf 結尾。
配置文件中的註釋爲:#
在試圖文件中,如何訪問配合變量
配置文件變量分組
使用中括號[],對配置文件中的變量進行分組。
在視圖文件讀取分組的配置變量
Smarty中的循環——foreach
一、foreach語法格式
Foreach能夠循環全部類型的數組:枚舉數組、關聯數組、混合數組。
實例:輸出一維數組
實例:輸出二維數組
foreach的經常使用屬性應用
@key:輸出當前值的索引,多是整型索引,也多是字符索引;
@index:當前循環的次數,從0開始計數;
@iteration,當前循環的次數,從1開始計數;
@first:當首次循環時,值爲true;
@last:當最後一次循環時,值爲true;
@total:是整個循環的次數,能夠在foreach內部或外部使用;
Smarty中的循環——section
Section概述和語法結構
section循環,就是PHP中的for循環。 for循環只能循環枚舉數組。Section也只能循環枚舉數組。 for循環能夠指定循環起點。如:$i =4 for循環能夠指定循環步長值。如:$i+=5 for循環能夠指定最大循環次數。
實例:遍歷一維枚舉數組
實例:遍歷二維枚舉數組
實例:控制步長、起始點、循環次數
Smarty中的條件判斷——if
if概述和三種語法結構
if中的運算符
大部分PHP中的運算符,能夠在Smarty中直接使用。
實例:if的簡單應用
實例:表格隔行變色
Smarty中的變量調節器
變量調節器概述
變量調節器,就是格式化的函數。
Smarty中提供了一些經常使用的函數,PHP全部函數在Smarty中均可以正常使用。
經常使用變量調節器
upper:轉成全大寫字母,對應PHP的strtoupper()函數。 lower:轉成全小寫字母,對應PHP的strtolower()函數。 nl2br:將」\n」轉成」<br />」換行號。對應PHP的nl2br()函數。 replace:查找替換。對應PHP的str_replace()函數。 date_format:時間戳格式化函數,對應PHP的date()函數。 truncate:截取子字符串。對應PHP的substr()和mb_substr()函數。 substr()是按字節截取。一個漢字3個字節。 mb_substr()是按字符載取。一個漢字是1個字符,一個字母也是1個字符。
date_format調節器的參數及應用
描述:對時間戳進行格式化輸出。
語法:{$smarty.now|date_format:格式化參數}
truncate調節器的應用
描述:截取字符串到指定長度,默認長度是80. 第二個參數可選,指定了截取後代替顯示的字符。 截取後的字符長度是截取規定的長度加上第二個參數的字符長度。 默認truncate會嘗試按單詞進行截取。若是你但願按字符截取(單詞可能會被截斷),須要設置第三個參數TRUE。
語法:{$str|truncate:截取長度:代替顯示的字符}
truncate默認對應的PHP的函數是substr(),是按字節截取。
如何讓truncate按字符截取?去PHP的配置文件中開啓php_mbstring.dll擴展。