程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 關於PHP模板Smarty的初級使用方法以及心得分享

關於PHP模板Smarty的初級使用方法以及心得分享

編輯:關於PHP編程

至於怎麼配置,這裡就不用多說了,網上一大堆。
1.基本上要用到的最主要的方法就是assign和display方法。
2.基本上在頁面上要用到的知識就是if和foreach和section這三個。
3.基本上最難的就是foreach和section。
4.初學的時候老是循環不出自己想要的數據。因為感覺還是跟php啊java啊這些的foreach和for都有些差別的。很難抓住他的活動路徑,很難調試他的數據。
5.所以這裡,我把一點點經念放出來:
如果數據是這樣:
復制代碼 代碼如下:
array(0=>array('id'=>'1111','content'=>'2222'));那麼foreach循環
{{foreach from=$exam item=item key=k}}
{{$item.content}}
{{/foreach}}

就可以了,但是如果是array('id'=>'1111','content'=>'2222')這樣,就不可以這樣循環了,需要這樣:
復制代碼 代碼如下:
{{foreach from=$exam item=item key=k}}
{{if $k eq 'content'}}
         {{$item}}
{{/if}}
{{/foreach}}

這裡如果不了解eq是什麼意思,可以網上搜下,下面我把這個給稍微羅列下:
eq相等,
ne、neq不相等,
gt大於,
lt小於,
gte、ge大於等於,
lte、le 小於等於,
not非, mod求模。
is [not] div by是否能被某數整除,
is [not]even是否為偶數,
$a is [not] even by $b即($a / $b) % 2 == 0,
is [not] odd是否為奇

6.在smarty的模板裡面如果要使用php代碼,這樣:
{{php}}$a = "gayayang"; echo $a;{{/php}}
這樣就可以在模板裡面使用php代碼了。

7.在smarty裡面引用文件:
可以用上面的辦法:{{php}}include "config.php";{{/php}}
或者專業一點:{{include file="config.php"}}
兩個方法都可以實現。下面的比較專業點,推薦。

8.有個這樣的方法:$smarty->fetch("mytemplate.html");
fetch和display都是渲染模板用的.fetch可以將渲染後的整個模板以字符串的形式賦值給一個變量,可以用作生成靜態頁用

現在知道這個怎麼用了吧,他可以返回文件的內容給一個變量,那這個就非常有用咯。呵呵
使用fetch函數,你可以將要輸出的html賦值給一個變量,可以對裡面的數據進行一些輸出,再將他輸出。
smarty中的display方法,實際上調用的就是fetch,只不過是直接將他顯示出來而已,而fetch默認是不顯示,返回給一個變量的。

基本上也就這麼些了,以後有補充了再來寫吧。呵呵

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