亚洲人成在线观看一区二区 _狠狠88综合久久久久综合网_亚洲品质自拍_国产精品国产a

首頁(yè) > 職業(yè)資格  > 

利用PHP引擎smarty

2023-01-09   來(lái)源:萬(wàn)能知識(shí)網(wǎng)

PHP模板引擎smarty詳細(xì)介紹,本文講解了什么是smarty、smarty優(yōu)點(diǎn)、不適合使用smarty的地方、smarty目錄結(jié)構(gòu)及版本,需要的朋友可以參考下。


(相關(guān)資料圖)

一、什么是smarty?

smarty是一個(gè)使用PHP寫(xiě)出來(lái)的模板PHP模板引擎,它提供了邏輯與外在內(nèi)容的分離,簡(jiǎn)單的講,

目的就是要使用PHP程序員同美工分離,使用的程序員改變程序的邏輯內(nèi)容不會(huì)影響到美工的頁(yè)面設(shè)計(jì),美工重新修改頁(yè)面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。

二、smarty優(yōu)點(diǎn):

1. 速度:采用smarty編寫(xiě)的程序可以獲得最大速度的提高,這一點(diǎn)是相對(duì)于其它的模板引擎技術(shù)而言的。

2. 編譯型:采用smarty編寫(xiě)的程序在運(yùn)行時(shí)要編譯成一個(gè)非模板技術(shù)的PHP文件,這個(gè)文件采用了PHP與HTML混合的方式,在下一次訪(fǎng)問(wèn)模板時(shí)將WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)文件中,而不再進(jìn)行模板重新編譯(在源程序沒(méi)有改動(dòng)的情況下)

3. 緩存技術(shù):smarty選用的一種緩存技術(shù),它可以將用戶(hù)最終看到的HTML文件緩存成一個(gè)靜態(tài)的HTML頁(yè),當(dāng)設(shè)定smarty的cache屬性為true時(shí),在smarty設(shè)定的cachetime期內(nèi)將用戶(hù)的WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)靜態(tài)的HTML文件中來(lái),這相當(dāng)于調(diào)用一個(gè)靜態(tài)的HTML文件。

4. 插件技術(shù):smarty可以自定義插件。插件實(shí)際就是一些自定義的函數(shù)。

5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語(yǔ)句可以非常方便的對(duì)模板進(jìn)行格式重排。

三、不適合使用smarty的地方:

1. 需要實(shí)時(shí)更新的內(nèi)容。例如像股票顯示,它需要經(jīng)常對(duì)數(shù)據(jù)進(jìn)行更新,這類(lèi)型的程序使用smarty會(huì)使模板處理速度變慢。

2. 小項(xiàng)目。小項(xiàng)目因?yàn)轫?xiàng)目簡(jiǎn)單而美工與程序員兼于一人的項(xiàng)目,使用smarty會(huì)喪失php開(kāi)發(fā)迅速的優(yōu)點(diǎn)。

四、smarty目錄結(jié)構(gòu)及版本

打開(kāi)smarty的官方的網(wǎng)站,www.smarty.net/download.php。下載Smarty 3.1.12。有tar.gz和zip分別適用于linux和windows版本。

下載好后Smarty-stable-3.1.12解壓縮會(huì)得到一個(gè) Smarty-3.1.12 文件夾,里面有兩個(gè)主要文件夾demo和libs

demo文件夾為示例文件夾,里面包含默認(rèn)文件夾結(jié)構(gòu),是我們要進(jìn)行編寫(xiě)程序代碼的主要文件夾。demo里文件夾的名稱(chēng)都是smarty默認(rèn)的目錄結(jié)構(gòu)名稱(chēng),可以通過(guò)改smarty對(duì)應(yīng)屬性值,再把文件夾名改成我們想要的名稱(chēng)。

libs為smarty代碼源文件夾,一般不動(dòng)。

/libs/Smarty.class.php ?#主文件

/libs/sysplugins/ #內(nèi)部plugin

/libs /plugins/ ?#外部plugin,可自由擴(kuò)充

/demo/cahce/ ?#放置緩存文件

/demo/configs / ?#放置可以載入的配置文件

/demo/templates/ ?#放置模板文件

/demo/templates_c/ ?#放置對(duì)模板編譯后的文件

可以把解壓得到的 Smarty-3.1.12 文件夾名改成我們想要的項(xiàng)目名,demo也可以改成我們想要的具體存放編碼的文件夾的名稱(chēng)

2、調(diào)試Smarty-3.1.12

創(chuàng)建自己的文件,在demo文件夾下創(chuàng)建index.php。

在templates目錄中創(chuàng)建模板index.tpl

(幾乎可以是任何文本文件的擴(kuò)展名,常用的是tpl,php,html,不建議使用后兩者,因?yàn)榭梢詮臑g覽器直接訪(fǎng)問(wèn)而不安全。可以對(duì)apache的httpd.conf進(jìn)行設(shè)置,禁止直接訪(fǎng)問(wèn).tpl文件。或者將templats目錄放在網(wǎng)站文檔樹(shù)之外。)

*/

//index.php代碼

require("../libs/Smarty.class.php");

$smarty = new Smarty;

//在調(diào)用的模板里可以通過(guò){$name}來(lái)輸出name的值z(mì)hang,{}為這里的smarty分界符

$smarty->assign("name","zhang");

//調(diào)用模板tpl文件里不能執(zhí)行PHP語(yǔ)句塊

$smarty->display("templates/index.tpl");

/*

index.tpl頁(yè)面內(nèi)容

你好, {$name}

*/

/*

Smarty編譯時(shí)的處理過(guò)程是源php文件->模板文件(可能調(diào)用多個(gè)或多次)->源php文件。。。

也就是說(shuō)不影響原php文件的其他處理和輸出。所以smarty模板文件可以是完整的html,也可以是其中一部分。

smarty處理過(guò)程

smarty將php源文件,首先編譯成中間文件(也是php),如果啟用緩存,再根據(jù)編譯文件生成緩存文件(也是php),需要緩存的部分全部是硬編碼。

之后的每次訪(fǎng)問(wèn)都會(huì)訪(fǎng)問(wèn)編譯文件(如果編譯文件已經(jīng)存在),一次編譯多次調(diào)用(可以是單文件的多次,也可以是多文件的多次),如果啟用緩存且有緩存文件而且沒(méi)有過(guò)期,則直接訪(fǎng)問(wèn)緩存文件,跳過(guò)編譯文件。

編譯文件一經(jīng)生成,就不會(huì)被自動(dòng)更新,除非模板文件或者配置文件更改。源php文件修改是不會(huì)引發(fā)重新編譯的。一旦編譯文件重新生成,緩存文件也必然重新生成。

*/

//Smarty允許有兩種特殊的編譯設(shè)置存在:

//1、 任何時(shí)候都不自動(dòng)重新編譯(上線(xiàn)階段):只有沒(méi)有該文件的編譯文件時(shí)才生成,模板文件或者配置文件的更改,不會(huì)引發(fā)重新編譯。

$smarty->setCompile_check(false);//默認(rèn)為true,false表示任何時(shí)候都不在文件發(fā)生變更的情況下生成編譯文件,除了無(wú)編譯文件。

$smarty->getCompile_check();//獲得當(dāng)前編譯檢查的設(shè)置

//2、任何時(shí)候都重新編譯(調(diào)試階段):任何時(shí)候都重新編譯。

$smarty->setForce_compile(true);//默認(rèn)為false,true表示每次都重新編譯(啟用緩存的話(huà),每次都重新緩存)

$smarty->getForce_compile();//獲得當(dāng)前強(qiáng)制編譯的設(shè)置

//開(kāi)啟緩存

$smarty->setCaching(true);

$smarty->getCaching();//獲取當(dāng)前緩存狀態(tài),默認(rèn)是false關(guān)閉的

$smarty->setcache_lifetime(60);//設(shè)置緩存時(shí)間單位秒

//{*模版文件*}

//{nocache}

//{$name}

//{/nocache}

//{*如果開(kāi)啟緩存的話(huà)放在nocache標(biāo)簽內(nèi)的變量不會(huì)緩存,每次讀取PHP源文件的值*}

/*

smarty分界符

在模板文件中,區(qū)分普通html代碼和smarty代碼靠的是分界符。默認(rèn)是 {} ,但可能會(huì)與js和css相沖突。可以進(jìn)行變更。

在3.0中模板標(biāo)簽將不支持空格,如{ $abc }在Smarty2中可以識(shí)別的,但是3.0里頭就不行了,必須這樣{$abc},這樣是為了能夠更好的支持javascript和css。

*/

$smarty->left_delimiter = "{"; ?//左分界符,2.0屬性,3.0沿用

$smarty->right_delimiter = "}";

/*

詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。

推薦詞條

亚洲人成在线观看一区二区 _狠狠88综合久久久久综合网_亚洲品质自拍_国产精品国产a
性久久久久久久| 亚洲一区二区三区美女| 精品视频在线免费看| 成人av影视在线观看| 日本不卡中文字幕| 亚洲一二三区视频在线观看| 亚洲国产精华液网站w| 精品国产区一区| 69堂成人精品免费视频| 欧美性视频一区二区三区| av在线不卡免费看| 高清av一区二区| 国产精品影音先锋| 国产自产视频一区二区三区| 毛片不卡一区二区| 日韩电影在线一区二区三区| 伊人夜夜躁av伊人久久| 亚洲婷婷国产精品电影人久久| 欧美激情中文字幕一区二区| 精品国产乱码久久久久久影片| 91麻豆精品久久久久蜜臀| 欧美日韩精品一区二区三区| 欧美日韩在线观看一区二区 | 日本伦理一区二区| www.亚洲精品| 91看片淫黄大片一级在线观看| 国产成人免费高清| 国产精品亚洲人在线观看| 国产乱码字幕精品高清av| 国产在线一区二区综合免费视频| 精品一二三四区| 激情五月激情综合网| 国产一区啦啦啦在线观看| 精品亚洲欧美一区| 国产91在线观看丝袜| 国产黄色91视频| 成人一区在线观看| 99视频在线观看一区三区| 99久久精品国产麻豆演员表| 91麻豆成人久久精品二区三区| 色婷婷亚洲婷婷| 欧美日韩夫妻久久| 日韩一区二区三区四区| 精品人在线二区三区| 日韩免费观看高清完整版在线观看| 精品国产免费人成电影在线观看四季 | 国产精品免费视频一区| 亚洲视频网在线直播| 亚洲制服丝袜在线| 蜜桃av一区二区在线观看| 国产精一品亚洲二区在线视频| 国产激情一区二区三区四区| youjizz久久| 欧美高清hd18日本| 久久久久久久久久看片| 最新国产の精品合集bt伙计| 午夜精品免费在线| 韩国欧美一区二区| 色综合色综合色综合色综合色综合| 欧美午夜精品一区| 精品动漫一区二区三区在线观看| 国产女人aaa级久久久级| 国产精品乱码妇女bbbb| 香港成人在线视频| 国产福利一区二区三区在线视频| 91小视频免费观看| 日韩三级免费观看| 国产精品狼人久久影院观看方式| 亚洲伊人色欲综合网| 狠狠久久亚洲欧美| 日本二三区不卡| 精品国精品国产| 一区二区三区四区不卡在线 | 极品少妇一区二区三区精品视频| av网站一区二区三区| 91精品啪在线观看国产60岁| 日本一区二区三区在线不卡 | 国产亚洲视频系列| 亚洲人成亚洲人成在线观看图片 | 亚洲人成网站精品片在线观看| 首页国产欧美久久| av电影在线观看不卡 | 亚洲午夜国产一区99re久久| 国产一区二区三区黄视频 | 欧美性高清videossexo| 久久这里只有精品首页| 亚洲一区视频在线| 99这里都是精品| 精品国产一区二区三区久久久蜜月| 亚洲在线视频网站| 成人动漫精品一区二区| 日韩欧美电影一区| 洋洋成人永久网站入口| 成人免费视频一区| 欧美tickling网站挠脚心| 亚洲一区二区三区在线播放| 成人动漫一区二区在线| 欧美性videosxxxxx| 亚洲色图丝袜美腿| 乱中年女人伦av一区二区| av网站一区二区三区| 日韩欧美一二区| 亚洲成人免费看| 99re在线精品| 国产日产精品一区| 免费xxxx性欧美18vr| 91色九色蝌蚪| 中文字幕第一页久久| 国模冰冰炮一区二区| 欧美日本在线播放| 亚洲一区二区精品久久av| 色噜噜狠狠色综合中国| 亚洲国产成人一区二区三区| 99国产欧美另类久久久精品| 欧美大片日本大片免费观看| 亚洲欧美偷拍三级| 99视频精品全部免费在线| 五月婷婷久久综合| 亚洲成人综合在线| 欧美国产亚洲另类动漫| 日韩欧美成人激情| 免费一级片91| 日韩一区二区三区免费观看| 日韩中文欧美在线| 欧美一级高清大全免费观看| 午夜日韩在线观看| 欧美猛男超大videosgay| 午夜欧美在线一二页| 欧美色综合网站| 五月婷婷综合网| 日韩一区二区三区av| 久久精品国产999大香线蕉| 日韩免费高清av| 国产精品中文字幕日韩精品| 国产欧美精品一区aⅴ影院| www.成人在线| 夜夜亚洲天天久久| 欧美另类高清zo欧美| 日本中文字幕一区| 精品国产网站在线观看| 福利一区在线观看| 亚洲免费伊人电影| 欧美日韩不卡一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩精品在线一区| 成人性生交大片免费看在线播放| 中文字幕一区二区三区四区| 色欲综合视频天天天| 亚洲第一狼人社区| 欧美成人免费网站| 成人avav影音| 五月天一区二区| 欧美精品一区二区久久婷婷| 成人一区在线看| 亚洲高清视频中文字幕| 日韩欧美三级在线| 成人午夜视频福利| 亚洲成人三级小说| 久久久久久久电影| 欧洲在线/亚洲| 狠狠色狠狠色综合| 亚洲欧美另类小说视频| 777精品伊人久久久久大香线蕉| 国产在线一区二区综合免费视频| 中文字幕一区二| 欧美一区二区三区的| 床上的激情91.| 天天综合网天天综合色| 国产性做久久久久久| 日本福利一区二区| 国产精品资源在线| 亚洲成人tv网| 欧美韩国日本不卡| 欧美日本一区二区| 成人高清视频在线观看| 丝袜国产日韩另类美女| 国产精品美女久久久久久2018| 欧美视频一区二区三区在线观看| 国产很黄免费观看久久| 日韩中文欧美在线| 亚洲精品视频自拍| 国产午夜精品美女毛片视频| 欧美天堂亚洲电影院在线播放| 国产一区在线观看视频| 午夜精品久久久久久久99水蜜桃 | 亚洲视频一区二区在线| 精品国产欧美一区二区| 欧美三区在线观看| 成人av在线播放网站| 久久精品久久综合| 亚洲一区二区三区四区在线 | 欧美艳星brazzers| 粉嫩av一区二区三区| 日韩成人av影视| 亚洲精品乱码久久久久久| 欧美国产精品久久| 精品久久久久99| 91麻豆精品国产91久久久更新时间| 色综合中文字幕| 成人免费视频免费观看|