六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

模板,PHPLIB處理方式(一)

[摘要]如果你正想知道什么是模板,首先去看一下Sascha Schumann寫的精彩文章《模板-為什么和如何在PHP3中使用它們(Templates - why and how to use them in PHP3)》的前幾段。    一般來說,模板可以讓你完全地把你的PHP代碼從HTML中分離出來,這...
如果你正想知道什么是模板,首先去看一下Sascha Schumann寫的精彩文章《模板-為什么和如何在PHP3中使用它們(Templates - why and how to use them in PHP3)》的前幾段。

   一般來說,模板可以讓你完全地把你的PHP代碼從HTML中分離出來,這樣使得HTML的圖形設(shè)計(jì)者們非常高興,而且可以避免他們搞丟你的寶貴設(shè)計(jì)。

它不是FastTemplates
  那么,我們真的需要在PHPBuilder上關(guān)于模板的另一篇文章嗎?好,是的,因?yàn)橛胁恢挂环N的方法用PHP來實(shí)現(xiàn)模板。Sascha的文章講述了如何使用FastTEmplates,但是PHP基本類庫("PHPLIB")有它自已的模板實(shí)
現(xiàn)。

  它們有什么不同呢?FastTemplates最初是從一個(gè)Perl庫轉(zhuǎn)變來的。FastTemplates對Perl程序工作的很好,但是對PHP不太理想。Kristian Koehntopp從頭編寫了PHPLIB模板,作為一個(gè)純的PHP庫,它更好地提供了PHP的優(yōu)勢。好處之一是Kristian的設(shè)計(jì)使用了preg_replace()來分析模板,據(jù)說比FastTemplate 中使用的ereg_replace()要快。PHPLIB模板的另一個(gè)好處是它允許動(dòng)態(tài)的塊實(shí)現(xiàn)嵌套,不象FastTemplates。

  兩個(gè)庫都有著非常相似的特性和能力,但是如果你已經(jīng)使用了FastTemplates,并且你想學(xué)習(xí)使用PHPLIB模板,你應(yīng)該把你所知道的關(guān)于FastTemplates 的一切都忘掉。他們的特性可能是相似的,但是PHPLIB模板所做的每件事比FastTemplates只有一點(diǎn)點(diǎn)不同。

使用PHPLIB模板
  讓我們從一個(gè)簡單的例子開始。我們假設(shè)在/home/mydir/mytemplates/下面有一個(gè)名為MyTemplate的模板,它有一些文本,內(nèi)容可能是:

祝賀!你贏了一輛{some_color}Honda Prelude!

  注意"{some_color}"是用大括號(hào)包圍的。大括號(hào)指明some_color是一個(gè)模板變量。我們可能想寫這樣一個(gè)腳本,它可以裝入模板,在{some_color}模板變量的地方插入PHP變量$my_color的值,然后輸出新的文本。如果$my_color碰巧被設(shè)為"藍(lán)色",最后的輸出可能是:

祝賀!你贏了一輛新藍(lán)色Honda Prelude!

下面是上述結(jié)果的PHP腳本: <?php
include "template.inc";

$my_color = "blue";
// 將在后面使用

$t = new Template("/home/mydir/mytemplates/");
// 創(chuàng)建一個(gè)名為 $t 的模板對象

$t->set_file("MyFileHandle","MyTemplate.ihtml");
// 設(shè)置 MyFileHandle = 我們的模板文件

$t->set_var("some_color",$my_color);
// 設(shè)置模板變量 some_color = $my_color值

$t->parse("MyOutput","MyFileHandle");
// 設(shè)置模板變量 MyOutput = 分析后的文件

$t->p("MyOutput");
// 輸出 MyOutput 的值(我們的分析后的數(shù)據(jù))
?>
  第一行是一個(gè)include 指令,用來提供PHPLIB模板功能。當(dāng)然PHPLIB做的比模板要多,但是如果你只想使用模板特性,只需要包括tmplate.inc (template.inc是來自于PHPLIB的文件之一)。PHPLIB模板使用面向?qū)ο蟪绦蛟O(shè)計(jì),所以下一件事情就是創(chuàng)建一個(gè)模板對象。代碼 <?php $t = new Template (
"/home/mydir/mytemplates/" ); ?>
創(chuàng)建一個(gè)新的模板對象$t。這個(gè)$t對象是一個(gè)句柄,將用來處理所有的模板函數(shù),用于PHP腳本中其它的代碼。如果你愿意,你可能創(chuàng)建其它的模板對象(每一個(gè)都有著自已的模板變量名字空間),但是一個(gè)就夠用了。在模板的構(gòu)造函數(shù)調(diào)用中的路徑("/home/mydir/mytemplates/")用來設(shè)置你的模板所在位置的根目錄,但是如果你沒有設(shè)它,它將缺省與你的PHP腳本所在目錄一樣。

  然后我們調(diào)用set_file()來定義一個(gè)名為"MyFileHandle"的句柄來與MyTemplate.ihtml鏈接(在parse()被調(diào)用之前,模板不會(huì)真正地裝入)。順便說一下,PHPLIB模板的模板文件名的后綴為.ihtml 是一種習(xí)慣,你可以使用.html,.tpl,或其它的后綴。然后調(diào)用set_var()來設(shè)置模板變量some_color為$my_color的值(值為"藍(lán)色"),意味著所有在模板中出現(xiàn){some_color}的地方都將被詞"藍(lán)色"所替換,一旦我們調(diào)用了parse()。接著我們調(diào)用parse(),它會(huì)裝入MyFileHandle(MyTemplate.ihtml)進(jìn)行分析,并且替換所有模板變量("{某變量}")為模板變量的值,分析的結(jié)果放在MyOutput中。任何結(jié)果都不會(huì)輸出到web服務(wù)器上,除非 p("MyOutput")被調(diào)用,它將輸出最后分析過的文本。



標(biāo)簽:模板 PHPLIB處理方式(一) 

相關(guān)文章

主站蜘蛛池模板: 日韩深夜福利视频 | 日韩黄色一级大片 | 日韩啪啪网站 | 日韩欧美在线综合网高清 | 人人精品 | 欧美一级视频精品观看 | 有毛片毛毛片毛片毛片 | 日韩毛片在线免费观看 | 日韩三级在线观看 | 色姝姝影院 | 先锋资源久久 | 色女人天堂 | 五月激情小说网 | 天天射天天干天天色 | 亚洲aⅴ| 午夜a级理论片在线播放 | 日韩亚射吧 | 夜间免费视频 | 伊人久久免费视频 | 日本视频中文字幕一区二区 | 亚洲五月七月丁香缴情 | 欧美一级久久久久久久大片 | 情不自禁完整版在线观看免费 | 亚洲处破女网站 | 亚洲最新在线 | 青青在线国产视频 | 欧美又大又粗又长又硬 | 亚洲精品福利在线观看 | 欧美一级黄色片视频 | 青青草a国产免费观看 | 日韩午夜伦 | 亚洲成aⅴ人片在线观 | 亚洲国产最新在线一区二区 | 日本不卡免费新一区二区三区 | 天天影视色香欲综合网小说 | 日韩大片在线播放 | 色综合久久88色综合天天 | 日本不卡免费新一区二区三区 | 欧美一级视频在线观看 | 天天干夜夜爽天天操夜夜爽视频 | 天天看天天操 |