程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php—Smarty-1 (18),phpsmarty-118

php—Smarty-1 (18),phpsmarty-118

編輯:關於PHP編程

php—Smarty-1 (18),phpsmarty-118


smarty

一、模板原理

1、  為什麼使用模板

1)  場景:

for($i=0;$i<$count;$i++){

       echo ‘<td>’.$row[‘proname’].’</td>

}

以上這種寫法將html與php進行混編,不利於開發和維護

2)  場景:

我們現在開發了一個網站,經過一段時間的運營,客戶對前台不滿意,我們又開發一套界面,但運行之後,客戶認為之前的樣式比較好,經常更換網站樣式

解決以上兩個問題的最好辦法,就是使用模板

2、  模板的具體實現

模板的實現其實就是字符串替換

1)  例1

模板文件:

 

PHP文件:

1)  例2:

Template類:

PHP代碼:

 

上面的類文件中的代碼,不夠優化,我們可以使用比較流行的模板框架來實現自己的項目

二、Smarty簡介

1、  什麼是Smarty

Smarty是一個基於PHP開發的PHP模板引擎。它提供了邏輯與外在內容的分離。

2、  Smarty的特點

l  速度

l  編譯型

l  緩存技術

l  插件技術

l  語句自由 if/elseif/else/endif

l  實時更新 :實時性要求比較高

3、  配置

l  http://smarty.php.net

l  /lib

l  Smarty 2.6       php4.0

l  Smarty 3.0       php5.0

 1 解壓smarty,進入解壓目錄

Demo:案例

Libs:Smarty源代碼

1)  進入libs目錄,

Plugins:自定義插件目錄

Sysplugins:系統插件目錄

Debug.tpl :在Smarty中,有調試功能,可以觀察變量的值 ,調試窗口模板

Smarty.class.php:Smarty核心類文件(入口文件)

SmartyBC.class.php :Smarty3.0在2.0的基礎上進行了升級,如果想使用2.0的功能,可以引用這個入口文件

3)將libs目錄復制到項目中,並重命名

三、 快速入門

1、  代碼實現:

模板代碼:

{$name}、{$age} :模板標記變量

程序代碼:

2、  smarty工作原理:

l  smarty將php源文件,首先編譯成中間文件

l  如果啟用緩存,再根據編譯文件生成緩存文件

l  之後的每次訪問都會訪問編譯文件

l  如果啟用緩存且有緩存文件而且沒有過期,則直接訪問緩存文件

Smarty第一次運行某個程序時,會將這個程序生成一個編譯文件

以後,每次運行這個程序時,只要模板沒有改變,就直接運行這個編譯文件,如果模板改變了,就重新生成編譯文件,再去運行。

編譯是指針對模板的編譯

3、  原理圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved