激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - 基于PHP Web開(kāi)發(fā)MVC框架的Smarty使用說(shuō)明

基于PHP Web開(kāi)發(fā)MVC框架的Smarty使用說(shuō)明

2020-03-19 13:35PHP教程網(wǎng) PHP教程

本篇文章小編為大家介紹,基于PHP Web開(kāi)發(fā)MVC框架的Smarty使用說(shuō)明。需要的朋友參考下

一、Smarty簡(jiǎn)明教程
1.安裝演示

 下載最新版本的Smarty-3.1.12,然后解壓下載的文件。接下來(lái)演示Smarty自帶的demo例子。
(1)下載地址:http://www.smarty.net/download
(2)在你的WEB服務(wù)器根目錄下建立新目錄,這里我在/var/www下創(chuàng)建yqting/目錄,然后將解壓之后的目錄中的demo/和libs/目錄復(fù)制到/var/www/yqting/目錄下。
(3)這里要特別注意demo/目錄下cache/和template_c/兩個(gè)目錄,一定要設(shè)置它們 為可讀寫權(quán)限
  chmod 777 cache/
  chmod 777 template_c/
(4)啟動(dòng)apache。在瀏覽器中輸入http://localhost/yqting/demo/index.php ,這樣一個(gè)簡(jiǎn)單的Smarty demo就實(shí)現(xiàn)了。
2.Smarty目錄結(jié)構(gòu)
(1)以/var/www/yqting目錄開(kāi)始分析:
  yqting/
    ├── demo
    │ ├── cache   緩沖文件存放目錄
    │ ├── configs    配置文件目錄
    │ ├── index.php
    │ ├── plugins    自定義的一些實(shí)用插件
    │ ├── templates    模板目錄
    │ └── templates_c   編譯后的文件存放目錄
    └── libs
       ├── debug.tpl   debug模板
       ├── plugins    自定義的一些實(shí)用插件
       ├── SmartyBC.class.php    支持Smarty 2兼容
       ├── Smarty.class.php   Smarty類定義文件
       └── sysplugins    Smarty核心功能插件,不需要進(jìn)行修改
(2)添加自己定義的插件
  上述目錄結(jié)構(gòu)中,其實(shí)最核心的部分是libs/目錄,同時(shí)這部分也是不允許修改的。
  而要添加自己的插件,一種方法是將自己定義的插件放在libs/plugins/目錄下,另一種方式是 單獨(dú)創(chuàng)建一個(gè)自己plugins/目錄,同時(shí)還要?jiǎng)?chuàng)建cache/、configs/、templates/和templates _c/目錄,而且要保證cache/和templates_c/目錄的可讀寫權(quán)限。
  不難發(fā)現(xiàn),其實(shí)上述例子中,demo/目錄就是一個(gè)包含了自己定義的插件的完整目錄。 我們可以參照demo/目錄來(lái)實(shí)現(xiàn)自己的程序。
3.實(shí)現(xiàn)一個(gè)簡(jiǎn)單的例子
(1)在/var/www/yqting/下創(chuàng)建目錄weibo/,然后在weibo/目錄下創(chuàng)建cache/、 configs/、templates/和templates_c/目錄,修改cache/和templates_c/目錄的權(quán)限為可讀寫。  
(2)新建一個(gè)模板文件:index.tpl,將此文件放在/var/www/yqting/weibo/templates目錄下,代碼如下:
  <html>
  <head>
  <metahttp-equiv="Content-Type" content="text/html;charset=gb2312">
   <title>Smarty</title>
  </head>
  <body>
  username:{$Name}
  </body>
  </html>  這段代碼很簡(jiǎn)單,有什么不明白的繼續(xù)往下看,不要著急!每一個(gè)做顯示的.tpl文件都會(huì)對(duì)應(yīng)一個(gè)處理業(yè)務(wù)邏輯的.php文件,下面介紹這個(gè).php文件。
(3)新建index.php,將此文件放在/var/www/yqting/weibo/下,代碼如下:
  <?php   /*sample example */  require '../libs/Smarty.class.php';   $smarty = new Smarty();   $username = "Smarty";   $smarty->assign("Name",$username);   $smarty->display('index.tpl');   ?>   其中require使用的路徑一定要正確,可以參照上面的目錄結(jié)構(gòu)看一下!
(4)在Smarty3中,Smarty類的構(gòu)造函數(shù)中已經(jīng)指定了template_dir、compile_dir 、config_dir和cache_dir,不需要再次指定。     
(5) 在瀏覽器中輸入http://localhost/yqting/weibo/index.php,就可以看到輸出的信息username:Smarty 了。
二、解釋smarty的程序
  我們可以看到,smarty的程序部分實(shí)際就是符合php語(yǔ)言規(guī)范的一組代碼,我們依次來(lái)解釋一下:   
(1)/**/語(yǔ)句:
  包含的部分為程序篇頭注釋。主要的內(nèi)容應(yīng)該為對(duì)程序的作用,版權(quán)與作者及編寫時(shí)間 做一個(gè)簡(jiǎn)單的介紹,這在smarty中不是必需的,但從程序的風(fēng)格來(lái)講,這是一個(gè)好的風(fēng)格。   
(2)include_once語(yǔ)句:
  它將安裝到網(wǎng)站的smarty文件包含到當(dāng)前文件中,注意包含的路徑一定要寫正確。   
(3)$smarty = new Smarty():
  這一句新建一個(gè)Smarty對(duì)象$smarty,簡(jiǎn)單的一個(gè)對(duì)象的實(shí)例化。   
(4)$smarty->templates="":
  這一句指明$smarty對(duì)象使用tpl模板時(shí)的路徑,它是一個(gè)目錄,在沒(méi)有這一句時(shí), Smarty默認(rèn)的模板路徑為當(dāng)前目錄的templates目錄,實(shí)際在寫程序時(shí),我們要將這一 句寫明,這也是一種好的程序風(fēng)格。   
(5)$smarty->templates_c="":
  這一句指明$smarty對(duì)象進(jìn)行編譯時(shí)的目錄。在模板設(shè)計(jì)篇我們已經(jīng)知道Smarty是 一種編譯型模板語(yǔ)言,而這個(gè)目錄,就是它編譯模板的目錄,要注意,如果站點(diǎn)位于linux 服務(wù)器上,請(qǐng)確保 teamplates_c里定義的這個(gè)目錄具有可寫可讀權(quán)限,默認(rèn)情況下它的 編譯目錄是當(dāng)前目錄下的templates_c,出于同樣的理由我們將其明確的寫出來(lái)。   
(6)分隔符 $smarty->left_delimiter與$smarty->right_delimiter:
  指明在查找模板變量時(shí)的左右分割符。默認(rèn)情況下為"{"與"}",但在實(shí)際中因?yàn)槲覀円?在模板中使用<script>,Script中的函數(shù)定義難免會(huì)使用{},雖然它有自己的解決辦法,但習(xí)慣上我們將它重新定義為"{#"與"#}"或是"<!--{"與"}-->"或其它標(biāo)志符,注意,如果在這里定義了左右分割符后,在模板文件中相應(yīng)的要使每一個(gè)變量使用與定義相同的符號(hào), 例如在這里指定為"<{"與"}>",html模板中也要相應(yīng)的將{$name}變成<{$name}>, 這樣程序才可以正確的找到模板變量。   
(7)$smarty->cache="./cache":
  告訴Smarty輸出的模板文件緩存的位置。上一篇我們知道Smarty最大的優(yōu)點(diǎn)在于它 可以緩存,這里就是設(shè)置緩存的目錄。默認(rèn)情況下為當(dāng)前目錄下的cache目錄,與 templates_c目錄相當(dāng),在linux系統(tǒng)中,我們要確保它的可讀可寫性。   
(8)$smarty->cache_lifetime = 60 * 60 * 24:   
  這里將以秒為單位進(jìn)行計(jì)算緩存有效的時(shí)間。第一次緩存時(shí)間到期時(shí)當(dāng)Smarty的 caching變量設(shè)置為true時(shí)緩存將被重建。當(dāng)它的取值為-1時(shí)表示建立起的緩存從不過(guò)期, 為0時(shí)表示在程序每次執(zhí)行時(shí)緩 存總是被重新建立。上面的設(shè)置表示將cache_lifetime設(shè)置為一天。   
(9)$smarty->caching = 1:   
  這個(gè)屬性告訴Smarty是否要進(jìn)行緩存以及緩存的方式。
  它可以取3個(gè)值,0: Smarty默認(rèn)值,表示不對(duì)模板進(jìn)行緩存;1:表示Smarty將使用當(dāng)前定義的 cache_lifetime來(lái)決定是否結(jié)束cache;2:表示 Smarty將使用在cache被建立時(shí)使用 cache_lifetime這個(gè)值。習(xí)慣上使用true與false來(lái)表示是否進(jìn)行緩存。   
(10)$smarty->assign("name", $username):
  該數(shù)的原型為assign(string varname, mixed var),varname為模板中使用的模板變量,var指出要將模板變量替換的變量名;其第二種原形為assign(mixed var),我們要在后面的例子詳細(xì)的講解這個(gè)成員函數(shù)的使用方法,assign是Smarty的核心函數(shù)之一, 所有對(duì)模板變量的替換都要使用它。   
(11)$smarty->display("index.tpl"):   
  該函數(shù)原形為display(string varname),作用為顯示一個(gè)模板。簡(jiǎn)單的講,它將分析 處理過(guò)的模板顯示出來(lái),這里的模板文件不用加路徑,只要使用一個(gè)文件名就可以了,它路 徑我們已 經(jīng)在$smarty->templates(string path)中定義過(guò)了。   
程序執(zhí)行完后我們可以打開(kāi)當(dāng)前目錄下的templates_c與cache目錄,就會(huì)發(fā)現(xiàn)在下 邊多出一些%%的目錄,這些目錄就是Smarty的編譯與緩存目錄,它由程序自動(dòng)生成,不 要直接對(duì)這些生成的文件進(jìn)行修改。   
以上我簡(jiǎn)單的把Smarty程序中的一些常用的基本元素介紹了一下,在后邊的例子中你可以看到將它們將被多次的使用。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 蜜桃网站在线观看 | 国产成人综合在线观看 | 亚洲成人免费视频在线 | 草草视频免费 | 羞羞的动漫在线观看 | 欧美日韩1区2区3区 黄片毛片一级 | 毛片大全免费 | 国产91亚洲精品久久久 | 91懂色 | 久久国产一级 | 日本最新免费二区三区 | 久久久久久久免费视频 | 国产免费黄色 | 日本在线视 | 一级电影免费在线观看 | a级欧美| h色网站免费观看 | 欧美视频一区二区三区 | 午夜国内精品a一区二区桃色 | 久久久精品视频免费看 | 午夜视频久久 | 一级视频片 | 免费看黄色一级片 | 色婷婷av一区二区三区久久 | 中文字幕 亚洲一区 | 小雪奶水翁胀公吸小说最新章节 | 国产亚洲精品成人a | 成人在线观看污 | 成人 日韩 | 久久久久久99 | 日本一区二区不卡在线观看 | 国产黄色网 | 久久久www成人免费精品 | 久久影片| 一级毛片在线观看免费 | 五月激情久久 | 国产一区二区三区影视 | 免费放黄网站在线播放 | 色视频在线播放 | 天天碰夜夜操 | 久久色伦理资源站 |