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

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

smarty 詳細使用教程

2019-11-10 17:39:52
字體:
來源:轉載
供稿:網友

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輸出濾鏡編譯文件被瀏覽器讀取之前執行


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一区av在线播放| 国产精品久久久久久中文字| 国产在线精品成人一区二区三区| 奇米成人av国产一区二区三区| 影音先锋欧美精品| 欧美色播在线播放| 九九精品在线观看| 久久亚洲电影天堂| 国产美女91呻吟求| 亚洲天堂成人在线| 亚洲精品美女久久久| 亚洲欧美激情视频| 亚洲资源在线看| 久久91精品国产91久久跳| 91国产精品视频在线| 51午夜精品视频| 亚洲一区二区久久| 精品久久久国产| 国产精品久久久久久久久借妻| 日韩视频第一页| 中文字幕久久精品| 亚洲一区中文字幕在线观看| 欧美性猛交xxxx乱大交3| 日韩美女免费观看| 久久久999精品| 国产一区二区美女视频| 日韩av片永久免费网站| 国产精品第一视频| 欧美日韩国产一区在线| 日韩视频永久免费观看| 欧美日韩国产123| 欧美午夜精品久久久久久浪潮| 久久99久国产精品黄毛片入口| 国产美女久久精品| 中文综合在线观看| 亚洲视频在线观看免费| 欧美成人激情视频| 国产精品美女久久久久av超清| 欧美高清不卡在线| 欧美另类xxx| 久久久国产一区二区三区| 91精品国产亚洲| 69**夜色精品国产69乱| 色yeye香蕉凹凸一区二区av| 欧美极品少妇xxxxⅹ免费视频| 成人国产精品av| 国产精品福利网| 一区二区三区国产视频| 亚洲国产精品系列| 欧美在线视频免费播放| 668精品在线视频| 欧美精品18videos性欧美| 亚洲欧美日韩天堂| 日韩av在线免费播放| 国产大片精品免费永久看nba| 色婷婷av一区二区三区在线观看| 日韩电影在线观看中文字幕| 亚洲精品一区av在线播放| 伊人久久久久久久久久久久久| 国产亚洲免费的视频看| 久久久久免费视频| 亚洲天堂av网| 日韩免费在线观看视频| 亚洲国产成人91精品| 国外成人性视频| 亚州欧美日韩中文视频| 国产精品国产三级国产aⅴ9色| 亚洲一区二区精品| 97成人精品区在线播放| 91精品国产综合久久香蕉最新版| 国产午夜精品久久久| 亚洲综合精品一区二区| 欧美午夜丰满在线18影院| 91精品国产亚洲| 免费不卡在线观看av| 国产精品日韩一区| 国产欧美日韩高清| 美女国内精品自产拍在线播放| 亚洲激情视频在线播放| 国产欧美va欧美va香蕉在线| 亚洲国产一区自拍| 亚洲电影免费观看高清| 欧美视频裸体精品| 国产一区在线播放| 97在线日本国产| 日韩亚洲在线观看| 国产精品视频专区| 懂色av影视一区二区三区| 成人黄色av网| 亚洲性av在线| 97精品一区二区视频在线观看| 亚洲欧美制服丝袜| 成人免费看片视频| 国产精品99久久久久久www| 亚洲成人久久久| 亚洲第一区第一页| 日韩www在线| 国产日韩精品在线观看| 欧美视频在线观看免费网址| 亚洲午夜精品久久久久久性色| 日韩美女福利视频| 91免费视频国产| 一区二区三区亚洲| 中文字幕日韩av综合精品| 日韩欧美黄色动漫| 亚洲一区二区中文字幕| 主播福利视频一区| 中文国产成人精品久久一| 久久综合88中文色鬼| 国产精品久久在线观看| 国产亚洲精品美女久久久| 日韩精品免费在线| 欧美黑人巨大精品一区二区| 7777kkkk成人观看| 欧美性色视频在线| 国产精品久久久久久久久久三级| 91精品国产九九九久久久亚洲| 久久久综合免费视频| 中文字幕av一区二区| 亚洲成色777777在线观看影院| 精品久久久久久久久国产字幕| 91视频免费在线| 日韩欧美成人精品| 久久精品国产成人精品| 91精品视频免费看| 国产欧美日韩综合精品| 亚洲欧美日韩直播| 亚洲国产精品yw在线观看| 亚洲成年人在线| 国产精品视频xxx| 色www亚洲国产张柏芝| 欧美激情一二三| 久久夜精品香蕉| 国产主播喷水一区二区| 国产精品白丝jk喷水视频一区| 日韩av网站大全| 亚洲精品mp4| 日韩欧美亚洲一二三区| 国产精品一区二区三区久久| 人九九综合九九宗合| 最新亚洲国产精品| 日本精品一区二区三区在线| 亚洲男人av在线| 91av视频在线免费观看| 国产v综合ⅴ日韩v欧美大片| 日本一区二区三区在线播放| 国产精品久久一区主播| 国产精品扒开腿做爽爽爽的视频| 国产日韩在线亚洲字幕中文| 91免费视频网站| 91精品免费久久久久久久久| 一区二区三区久久精品| 欧美大片在线看| 国产精品成久久久久三级| 欧美精品videossex性护士| 久久久999国产精品| 中文字幕久热精品在线视频| 欧美高清视频免费观看| 亚洲欧美一区二区三区久久| 国产精品精品久久久久久| 欧美俄罗斯性视频| 97超碰国产精品女人人人爽| 欧美精品日韩三级| 欧美国产精品日韩|