亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

smarty 詳細使用教程

2019-11-10 16:57:21
字體:
來源:轉載
供稿:網友

MVC是一種開發模式,強調數據的輸入、處理、顯示是強制分離的

Smarty使用教程1.如何配置我們的smarty解壓后把libs文件夾放在網站第一級目錄下,然后創建兩個文件夾templates 存放模板文件templates_c 存放編譯后的文件再創建初始化文件smarty.ini.php

注意事項:1.替換變量的標識分隔符一般使用<{}>改動分隔符的兩個方法:1.改源碼:Smarty.class.php $left_delimiter 不推薦2.動態修改:$Smarty->left_delimiter="<{";$Smarty->right_delimiter="}>";寫在display之前

2.smarty分配數據$smarty->assign("Address",$address);用來賦值到模板中??梢灾付ㄒ粚?名稱/數值,也可以指定包含 名稱/數值 的聯合數組。$smarty->assign("aa",true); //輸出1 $smarty->assign("aa",false); //輸出空注意:二維關聯數組的分配 <{$arr.num.email}>對象的分配 <{$dog1->name}>對象的對象的屬性 公開的 <{$dog1->master->name}>從配置文件中取出數據 常見配置樣式等先加載配置文件<{config_load file="../configs/foo.conf"}>配置文件中的數據可直接在模板文件中使用<{#Bgcolor#}>

3.smarty模板的內建函數foreach一維數組循環取出<{foreach form=$arr item=temp key=k}><{$k}>=<{$temp}><{/foreach}>二維索引數組循環取出<{foreach form=$arr item=temp key=k}><{foreach form=$temp item=val}><{$val}><{/foreach}><{/foreach}>二維關聯數組循環取出<{foreach form=$arr item=item1}><{foreach form=$item1 item=item2 key=k}><{$k}>=<{$item2}><{/foreach}><{/foreach}>

4.自定義函數function test($args){$str="";for($i=0;$i<$args['times'];$i++){$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$args['con']."</font>";}return $str;}//需注冊函數$smarty->register_function("self","test");調用形式<{self times="4" size="5" con="hello" color="red"}>

自定義函數(塊注冊方式)function test2($args,$con){$str="";for($i=0;$i<$args['times'];$i++){$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$con."</font>";}return $str;}//注冊塊函數$smarty->register_block("block","test2");調用形式<{block times="4" size="5" color="red"}>hello<{/block}>

以插件的形式增加自定義函數(放在libs/plugins文件夾中)必須遵守文件名格式:function.自定義函數名.php函數名格式:function smarty_function_自定義函數名($params,&$smarty){$str="";for($i=0;$i<$args['times'];$i++){$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$args['con']."</font>";}return $str;}//無需注冊

以插件的形式增加自定義塊函數必須遵守文件名格式:function.自定義函數塊名.php函數名格式:function smarty_block_自定義函數塊名($params,$con,&$smarty){$str="";for($i=0;$i<$args['times'];$i++){$str.="<br/><font color='".$args['color']."'>" size='".$args['size']."'>".$con."</font>";}return $str;}//無需注冊

5.smarty基本語法在模板中使用注釋<{*注釋內容*}>在模板文件中調用函數<{函數名 屬性1="屬性值" 屬性2="屬性值"……}>在模板文件對引用的變量可以進行數學運算,但不能用()來改變運算次序分配常量并取出define("RATE","0.08");<{$samrty.conts.RATE}>在模板中使用變量調節器基本用法<{變量/函數/字符串|變量調節器名稱:參數1:參數2}>變量調節器可以自定義,以插件的形式給出文件名:modifier.變量名稱.phpfunction smarty_modifier_XXX(){//代碼}//新建一個變量調節器 要求句子首字母大寫其他小寫文件名:modifier.變量名稱.phpfunction smarty_modifier_mycapitalize(){return strtoupper(substr($string,0,1)).strtolower(substr($string,1));}常用的變量操作符date_formate 時間格式escape 轉碼nl2br 換行符替換為<br/>regex_replace 正則替換string_formate 字符串格式化truncate 截取

6.samrty其他內建函數capture 捕獲config_load 從配置文件中加載變量include 在當前模板中包含其他模板insert 類似于include,但所包含的內容不會被緩存if elseif elseldelim rdelim 左右邊界符count 計數literal 標簽內數據當文本處理phpsection sectionelse

7.自定義函數counter 保存了每次記數時的當前記數值. 用戶可以通過調節 interval 和 direction 調節該值. 也可以決定是否輸出該值. 如果需要同時運行多個計數器,必須為它們指定不同的名稱. 如果沒有指定名稱,模板引擎使用 "default" 作為缺省值.cycle用于輪轉使用一組值. 該特性使得在表格中交替輸出顏色或輪轉使用數組中的值變得很容易.html_checkboxes根據給定的數據創建復選按鈕組. 該函數可以指定哪些元素被選定. 要么必須指定 values 和 ouput 屬性,要么指定 options 替代. 所有的輸出與 XHTML 兼容.html_options根據給定的數據創建選項組. 該函數可以指定哪些元素被選定. 要么必須指定 values 和 ouput 屬性,要么指定 options 替代.html_radios根據給定的數據創建單選按鈕組. 該函數可以指定哪個元素被選定. 要么必須指定 values 和 ouput 屬性,要么指定 options 替代. 所有的輸出與 XHTML 兼容.html_select_date用于創建日期下拉菜單,可以顯示任意年月日.html_select_time用于創建時間下拉菜單mailto用于創建日期下拉菜單popup-init,popuppopup 用于創建javascript彈出窗口. 需要映入overLib.jstextformat用于格式化文本

8.變量(重點使用)$config_dir $template_dir$compile_dir$plugins_dir$caching$cache_dir$cache_lifetime$debugging啟動調試控制臺

9.smarty的緩存機制默認是當模板文件有改動時,控制器會判斷1.模板編譯文件是否存在2.模板文件改動時間是否大于編譯文件改動時間結果為true時才會重新生成編譯文件,從而對頁面重新渲染缺點:1.生成的編譯文件是PHP動態數據文件,影響瀏覽器讀取性能2.當控制器文件發生變化時,編譯文件不會重新生成修改后:1.生成的編譯文件是HTML靜態數據文件,利于瀏覽器讀取2.當控制器文件發生變化時,通過設置的cache_lifetime來控制重新生成編譯文件

局部緩存技術一個模板文件一部分緩存,一部分實時更新insert函數默認是不緩存

//根據ID號來生成不同的緩存頁面$smarty->display('模板文件',緩存ID)$smarty->clear_all_cache(int expire time);//清除所有緩存作為可選參數“expire time”,你可以指定一個以秒為單位的最小時間,超過這個時間的緩存都將被清除掉$smarty->clear_cache('模板文件',緩存ID);//清除指定id的緩存文件

append 以值傳遞,有拷貝的過程append_by_ref 引用添加assign默認是值傳遞的assign_by_ref是引用傳遞

10.smarty過濾器PRefilters預過濾器在控制器讀取模板文件之前運行,函數封裝在display函數中所用是刪除不需要的內容,監視對模板進行的操作Postfilters后過濾器 可以用開添加注釋版本號在控制器輸出編譯文件之前運行Outputfilters輸出濾鏡編譯文件被瀏覽器讀取之前執行


上一篇:變通思想 : 01背包

下一篇:A+B (II)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级黑人aaaaaaa做受| 欧美一区深夜视频| 国产精品视频yy9099| 日韩在线播放视频| 久久国产精品99国产精| 久久久在线免费观看| 热草久综合在线| 黄色成人在线播放| 97国产成人精品视频| 日韩在线观看免费全| 热re91久久精品国99热蜜臀| 欧美另类极品videosbest最新版本| 欧美裸体男粗大视频在线观看| 国产精品久久久久久久久粉嫩av| 国产成人精品免高潮在线观看| 亚洲黄色av女优在线观看| 精品久久久久久亚洲精品| 国产z一区二区三区| 国产精品av免费在线观看| 668精品在线视频| 亚洲精品久久久久久久久| 欧美电影免费观看网站| 97高清免费视频| 成人黄色午夜影院| 国产日韩专区在线| 97碰在线观看| 亚洲专区中文字幕| 国产成+人+综合+亚洲欧美丁香花| 国产欧美 在线欧美| 欧美亚洲第一区| 国产成人一区二区三区小说| 日本午夜人人精品| 国产成人精品免费视频| 黑人巨大精品欧美一区二区三区| 国产视频精品自拍| 国产三级精品网站| 日韩在线免费观看视频| 久久久免费高清电视剧观看| 成人午夜两性视频| 国产精品青青在线观看爽香蕉| 欧美激情一区二区三区成人| 欧美午夜性色大片在线观看| 日本欧美一二三区| 亚洲精品久久久久| 国内免费久久久久久久久久久| 国产美女主播一区| 亚洲a级在线观看| 欧美精品手机在线| 欧美日韩午夜激情| 亚洲综合成人婷婷小说| 成人免费自拍视频| 成人性教育视频在线观看| 欧美xxxx做受欧美| 91精品国产91久久久久久久久| 亚洲国产成人久久| 欧美xxxx18国产| 亚洲在线观看视频| 日韩在线欧美在线| 欧美大片在线影院| 亚洲久久久久久久久久| 国产午夜精品一区二区三区| 亚洲一区国产精品| 亚洲欧美制服第一页| 国产精品丝袜久久久久久高清| 在线视频欧美性高潮| 色综合久久久888| 欧美电影免费观看电视剧大全| 欧美成人性色生活仑片| 久久久精品美女| 欧美日韩亚洲精品一区二区三区| 色偷偷噜噜噜亚洲男人的天堂| 成人a级免费视频| 国产精品美女网站| 日韩视频免费大全中文字幕| 青青草原成人在线视频| 日韩精品免费在线播放| 最近更新的2019中文字幕| 久久男人资源视频| 日韩av在线天堂网| 日韩av最新在线观看| 久久综合国产精品台湾中文娱乐网| 精品国产欧美一区二区五十路| 538国产精品一区二区免费视频| 韩国精品美女www爽爽爽视频| 亚洲国产天堂久久国产91| 欧美激情中文字幕在线| 91精品在线观看视频| 日韩久久精品电影| 国产在线一区二区三区| 国产午夜精品一区二区三区| 欧美性猛交xxxx久久久| 欧美激情国产日韩精品一区18| 国产精品夜色7777狼人| 26uuu另类亚洲欧美日本老年| 日韩精品视频在线| 欧美日韩国产色视频| 激情成人在线视频| 亚洲三级黄色在线观看| 欧美高清自拍一区| 欧美成人小视频| 亚洲人av在线影院| 欧美日韩国产丝袜另类| 亚洲男人天堂2024| 欧美精品久久一区二区| 久久久www成人免费精品| 久久久精品国产亚洲| 一本色道久久综合狠狠躁篇怎么玩| 姬川优奈aav一区二区| 国产亚洲精品高潮| 日韩电影免费观看中文字幕| 精品久久久久久中文字幕大豆网| 亚洲福利在线观看| 日韩精品中文字幕久久臀| 欧美日韩国产综合视频在线观看中文| 亚洲国产精久久久久久久| 国产欧美日韩专区发布| 欧美日韩国产一区在线| 久久九九精品99国产精品| 欧美一区二区三区精品电影| 91精品啪在线观看麻豆免费| 欧美日韩电影在线观看| 国产原创欧美精品| 亚洲电影免费观看高清完整版| 国产a∨精品一区二区三区不卡| 久久成人国产精品| 欧美黄色片在线观看| 青青青国产精品一区二区| 国产精品网站视频| 成人免费看吃奶视频网站| 亚洲精品狠狠操| 亚洲人在线观看| 国产精品一区二区女厕厕| 亚洲成人免费网站| 国产精品久久久久久网站| 精品视频在线播放色网色视频| 在线看日韩av| 精品女同一区二区三区在线播放| 欧美大片在线影院| 成人欧美一区二区三区黑人孕妇| 91精品久久久久久久久久久久久| 中文字幕欧美专区| 美女啪啪无遮挡免费久久网站| 国产一区二区三区精品久久久| 成人免费看吃奶视频网站| 欧美日韩国产中文字幕| 欧美电影在线观看完整版| 国产日韩欧美另类| 国产精品久久久久久久久久久久久| 亚洲第一色中文字幕| 永久555www成人免费| 日韩有码视频在线| 亚洲欧美国产日韩天堂区| 国产精品欧美在线| 国产精品一区二区3区| 国产免费观看久久黄| 国产在线精品播放| 欧美高清一级大片| 国产精品免费网站| 国内免费久久久久久久久久久| 国产午夜精品免费一区二区三区| 国产精品久久999| 久久久天堂国产精品女人| 国产一区二区三区在线| 国产精品视频一区国模私拍|