韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

PHP3 之 FastTemplate

PHP3 之 FastTemplate

更新時間:2022-10-10 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

當(dāng)你在建立一個站點的時候,可能不得不面對以下現(xiàn)實:
站點需要一名程序員來設(shè)計程序和一名網(wǎng)站設(shè)計者來組織頁面。那么,是否有使兩者很好的結(jié)合起來的方法呢?

有的,就是使用模板(FastTemplate:這個程序在本站的“程序和代碼”中可以找到),這將會使你的工作更加輕松。

下面解釋一下使用模板的好處:

1、在很短的時間內(nèi)可以替換整個站點的外觀
2、使程序員可以抽象編程,而無須接觸HTML代碼
3、速度非常之快
4、可以重復(fù)利用以前的模板

模板的來歷:FastTemplate來自于同名的Perl軟件包(在CPAN上可以找到)。 它被移植到了PHP3平臺上。你只需要一個基礎(chǔ)類文件class.FastTemplate.php3

先解釋一下使用模板和使用echo或print命令建立html頁面的區(qū)別,echo和 print在編寫短小的腳本時顯得非常實用,但是做出來的腳本的組織性和可定制性不好,修改起來頗廢工夫,模板在編寫支持多國語種的站點時的效率則要高的多,如用echo和print可以想象工作量之大。

不用擔(dān)心,熟練使用FastTemplate會占去你一部分時間,但是這些時間會在你 以后的工作中彌補回來,尤其是大工程時。

那么,怎么使用FastTemplate呢?

第一步,只需使用函數(shù)<?php $tpl = new FastTemplate( "path"); ?>,其中path指向template目錄所在的路徑。這句函數(shù)建立了一個$tpl對象,以后可以對它指定參數(shù),進行處理或用來建立各種頁面等等。

FastTemplate是建立在這么一種理論基礎(chǔ)之上的,即假定一個web頁是由許多小的部分組成的。舉例來說,如WEB頁細分為TITLE、PAGE、FOOT等等。整個頁被賦予一個變量名,每一個小部分又被賦予一個變量名,最小的不可分割的部分通常就是字符串了,它也被賦予一個變量名。具體處理的時候,是一層層的包含關(guān)系。被包含部分在上一層中以宏{NAME}的形式出現(xiàn)。最后經(jīng)過一層層的向上輸出,得到完整的頁面。

那么最底層的向字符串賦值的函數(shù)是什么呢,就是:

<?php $tpl->assign(NAME, "text"); ?>

通過這個功能,F(xiàn)astTemplate將字符串text賦予了變量NAME,以后上一層就可替換宏{NAME}的內(nèi)容為text。

例如:

$tpl->assign(NAME, "me");

這就將變量NAME賦值了字符串"me"。

第二步,$tpl需要知道其所調(diào)用的所有模板文件,即各個小部分。這個功能由define一個數(shù)組實現(xiàn):

<?php $tpl->define(); ?>

例如:

<?php $tpl->define(array(foo => "foo.tpl", bar => "bar.tpl")); ?>

這說明總共包括了兩個模板文件:foo.tpl和bar.tpl,并給它們指定了名字foo和bar。

有了第一節(jié)的知識以后,你現(xiàn)在是否想試一試將模板文件中所包含的宏
{MACROS}部分按照自己定義的變量替換呢?使用以下的命令即可實現(xiàn):

<?php

$tpl->parse(PAGECONTENT, "foo");

?>

這條命令的具體意義是:

我們首先已經(jīng)用assign定義了FOO模板中包含的若干宏變量,然后根據(jù)這些變量對模板文件FOO進行替換處理,并將替換后的模板文件賦予另一個變量名PAGECONTENT。

完整如下:

<?php

$tpl->assign(NAME, "me");
$tpl->parse(PAGECONTENT, "foo");

?>

當(dāng)然,我們還沒有作完,因為bar模板文件才是WEB的主輸出部分,BAR模板包含著FOO模板,BAR中還包含著宏變量{PAGETITLE}和{PAGECONTENT}等待處理,PAGECONTENT經(jīng)過對FOO的處理已經(jīng)得到,PAGETITLE還未指定,所以還要還要指定PAGETITLE,并調(diào)用函數(shù)

<?php $tpl->parse(MAIN, "bar"); ?>

進行處理,并將處理后的結(jié)果賦予變量MAIN。

如下:

<?php

$tpl->assign(PAGETITLE, "FooBar test");
$tpl->parse(MAIN, "bar");

?>

很簡單吧,最后我們只需輸出頁面即可:

<?php

$tpl->FastPrint(MAIN);

?>

下面就是foo.tpl,bar.tpl與最終的demo.php3文件。
請大家仔細琢磨琢磨:

-------------------------------------------------------------
foo.tpl

<!-- foo.tpl -->
This does not do anything obvious. Please look at {NAME}.

-------------------------------------------------------------
bar.tpl

<!-- bar.tpl -->
<HTML>
<HEAD><TITLE>Feature world - {PAGETITLE}</TITLE></HEAD>
<BODY BGCOLOR=BLACK TEXT=WHITE>
<H1>{PAGETITLE}</H1>
{PAGECONTENT}
</BODY>
</HTML>

------------------------------------------------------------
demo.php3

<?php

include "class.FastTemplate.php3";

$tpl = new FastTemplate( ".");
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl"));

$tpl->assign(NAME, "me");
$tpl->parse(PAGECONTENT, "foo");

$tpl->assign(PAGETITLE, "Welcome!");
$tpl->parse(MAIN, "bar");

$tpl->FastPrint(MAIN);

?>
------------------------------------------------------------

編制一個表格的例子:

經(jīng)過以上的闡述,大家是否已經(jīng)明白一點了。
下面是一個處理表格的例子,首先我們再學(xué)一些新知識。

當(dāng)我們當(dāng)處理完foo模板后,并賦予了變量TPL1,我們可以將bar模板的內(nèi)容處理后追加進TPL1中,這樣就不必定義過多變量,也易于理解,例處理完頁面的title后將content部分追加進去,最后將foot追加,生成完整一個頁面再輸出。這條命令就是:
<?php $tpl->parse(TPL1, ".bar"); ?>
其中的.表示追加。

如下:

<?php

# 處理模板foo,并賦予變量TPL1
$tpl->parse(TPL1, "foo");

# 處理模板bar,并追加進變量TPL1
$tpl->parse(TPL1, ".bar");

?>

下面是一個完整的表格例子,大家好好揣摸揣摸

page.tpl

<HTML>
<HEAD><TITLE>Feature world - {PAGE_TITLE}</TITLE></HEAD>
<BODY BGCOLOR=BLACK TEXT=WHITE>
<H1>{PAGE_TITLE}</H1>
{PAGE_CONTENT}
</BODY>
</HTML>

table.tpl

<TABLE>
<TR> <TH>name</TH> <TH>size</TH> </TR>
{TABLE_ROWS}
</TABLE>

table_row.tpl

<TR>
<TD>{FILENAME}</TD>
<TD>{FILESIZE}</TD>
</TR>

yad.php3

<?php

include "class.FastTemplate.php3";

function InitializeTemplates() {
global $tpl;

$tpl = new FastTemplate( ".");
$tpl->define(
array(
page => "page.tpl",
table => "table.tpl",
table_row => "table_row.tpl"
)
);
}

function ReadCurrentDirectory() {
global $tpl;

$handle = opendir( ".");
while($filename = readdir($handle)) {
$tpl->assign(FILENAME, $filename);
$tpl->assign(FILESIZE, filesize($filename));
$tpl->parse(TABLE_ROWS, ".table_row");
}
closedir($handle);
$tpl->parse(PAGE_CONTENT, "table");
}

function PrintPage($title) {
global $tpl;

$tpl->assign(PAGE_TITLE, $title);
$tpl->parse(FINAL, "page");
$tpl->FastPrint(FINAL);
}

InitializeTemplates();
ReadCurrentDirectory();
Printpage( "Yet Another Demo");

?>

關(guān)于速度的最后一點討論:

看完以上的例子,你會說“太棒了!漂亮,但是,速度怎么樣呢?”

沒問題,你的站點會變得很快。簡單的說:因為你是一個程序員,你應(yīng)該關(guān)注于程序代碼的設(shè)計,代碼應(yīng)該更加有效率,應(yīng)容易修改和容易理解。使用FastTemplate可以可以幫助你做到這一點,所以它使你的工作更加輕松一些。

如果你想替代一個已經(jīng)建好的Web站點,我們建議使用regex(替換表達式)來替換,實際上FastTemplate使用的就是regex 來替換模板中的宏。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
久久久精品日韩欧美| 亚洲精品日韩在线| 国产免费一区二区三区最新6| 亚洲精品国产品国语在线app| 亚洲精品一区二区在线看| 国产成人综合一区| 亚洲精品在线网站| 国产又粗又猛又爽又黄视频| 日本在线免费播放| 国产黄色特级片| 岛国片免费看| 青青草在线免费观看| 狠狠做六月爱婷婷综合aⅴ| 亚洲春色综合另类校园电影| 久久久久无码精品国产sm果冻| 中文字幕一区二区三区精品| www.久久东京| 快色在线观看| 日本韩国视频一区二区| 一级做a爰片久久毛片| 久久久久久亚洲精品| 4444欧美成人kkkk| 久久国产精品亚洲| 一区二区三区免费视频网站| 国产一区二区在线免费视频| 高潮白浆视频| 欧美日韩国产一区| 一级毛片视频在线观看| 国产va在线播放| 91欧美激情一区二区三区成人| 精品一区二区三区中文字幕在线| 免费日韩av片| 亚洲精品成人三区| 无码人妻aⅴ一区二区三区玉蒲团| 欧美一二三在线| 18一19gay欧美视频网站| 午夜av噜噜噜噜噜噜| 亚洲精品国产精品国产自| 日日噜噜噜噜人人爽亚洲精品| 草草久久久无码国产专区| 国产精品熟女久久久久久| 欧美free嫩15| 91吃瓜网在线观看| 日韩成人免费视频| 另类欧美视频| 国产成人夜间影院在线观看| 国精产品一区一区三区mba下载| jizz亚洲少妇| 欧美一区三区二区在线观看| 国产欧美在线观看免费| japanese在线| 日韩欧美在线视频免费观看| 97国产suv精品一区二区62| 婷婷激情成人| 精品国产免费无码久久久| 在线成人午夜影院| 深夜福利影院在线观看| 欧美一区二不卡视频| 亚洲瘦老头同性70tv| 99热这里有精品| 亚洲日本一区二区三区在线观看| 成年人免费在线观看网站| 亚洲国产精品成人久久蜜臀| 88久久精品无码一区二区毛片| 特级西西444www大精品视频免费看| 中国毛片在线观看| 欧美成人亚洲高清在线观看| 人妻av无码专区| 亚洲天堂电影在线观看| 中国人xxxxx69免费视频| www.色五月| 欧美日韩一区小说| 综合亚洲自拍| 国产在线观看中文字幕| 女明星视频黄又免费| 国产毛片毛片毛片毛片毛片| 另类小说一区二区三区| 波多野结衣喷潮| 免费观看的av| 亚洲成人av高清| 久久av资源网站| 国产欧美一区二区精品性色| 69国产精品视频| 国产欧美日韩亚州综合| 成人久久电影| 久久久久久综合| 天天干天天操天天拍| 国产精品九九视频| 99产精品成人啪免费网站| 国产日产一区二区| 成人一区二区三区视频在线观看| 黄视频在线免费| 国产精品欧美激情在线播放| 青青青伊人色综合久久| 亚洲高清不卡一区| 最新热久久免费视频| 久久伦理在线| 国产人妻一区二区| 亚洲国产欧美日韩在线观看第一区| 欧美精品国产精品日韩精品| 成人免费无码av| 成人av在线影院| 国产精品伦理一区二区| 国内久久久精品| 日韩一区二区三区精品视频| 99re在线视频播放| 538精品在线视频| 欧美aaaaa级| 亚洲精品久久久久久一区二区| 中文字幕一区二区三区在线视频| 亚洲国产日韩欧美在线99| 日韩一区二区免费看| 99久久精品无免国产免费| 91精品国产乱码久久久| 久久99亚洲精品| 青青草国产一区二区三区| 精品国产乱码久久久久久久| 精品丝袜一区二区三区| 欧美少妇bbw| 秋霞国产午夜精品免费视频| 成人精品国产| 中文字幕日韩av电影| 制服丝袜在线91| 91麻豆精品国产91久久久更新资源速度超快| 欧美激情中文字幕乱码免费| 美女久久久久久久久| 成人性生交视频免费观看| 久久久久这里只有精品| 亚洲av成人无码一二三在线观看| 国产激情视频一区二区三区欧美| 日本熟妇一区二区三区| 激情五月亚洲色图| 久久福利资源站| 久草在线视频网站| yourporn久久国产精品| 91精品欧美久久久久久动漫| 黄色一级免费视频| 91手机视频在线观看| av在线免费在线观看| 日韩在线播放一区| 成人在线精品视频| 日本系列第一页| 在线观看欧美黄色| 日本精品福利视频| 强伦人妻一区二区三区| **精品中文字幕一区二区三区| 日韩一区欧美一区| 精品久久中出| 国产亚洲一区在线播放| 国产精伦一区二区三区| 曰本大片免费观看视频| 国产制服91一区二区三区制服| 99精品在线观看| 无码人妻精品一区二区蜜桃百度| 国产欧美日韩免费| 久久99精品久久久久久水蜜桃| 亚洲黄网在线观看| 亚洲自拍偷拍色图| 天堂va久久久噜噜噜久久va| 国产真人做爰毛片视频直播| 亚洲成人在线视频播放| 亚洲啪啪aⅴ一区二区三区9色| 日本免费一区二区三区四区| 精品人妻互换一区二区三区| 欧美日韩国产一区在线| 成年人羞羞的网站| 97caopron在线视频| 亚洲欧美se| 成年人视频在线网站| 男女性色大片免费观看一区二区| 秋霞影院一区二区三区| 在线观看视频中文字幕| 国产精品久久久久久久av福利| 激情av一区| 婷婷五月综合激情| 日本影音先锋电影| 亚洲中文字幕一区二区| 只有这里有精品| a级一a一级在线观看| av电影免费在线观看| 日韩久久精品一区| a级片在线免费观看| 欧美日韩性生活| 免费看日批视频| 色在线免费观看| 麻豆一区二区三区精品视频| av在线播放中文字幕| 亚洲天堂一区二区| 中文字幕剧情在线观看| 欧美精品成人久久| 青青在线精品| 欧美视频精品在线观看| 在线观看h片| 韩国美女主播一区| 国产综合色产在线精品| aaa国产精品| 精品国产18久久久久久洗澡| 成人免费一区二区三区在线观看| 一区视频二区视频| 四季av日韩精品一区| 国产黄色av网站| 久久亚洲天堂| 午夜大尺度福利视频| 日韩一区二区三区免费看| 国产婷婷成人久久av免费高清| 尤物视频在线视频| 国产日本精品| www亚洲人| 久久99热精品这里久久精品| 精品国产一区二区在线| 精品欧美一区二区在线观看| 色视频www在线播放国产成人| 欧美日韩一区二区在线| 亚洲精品在线视频播放| 免费国产亚洲视频| 成人动漫在线免费观看| 国产在线视频你懂的| 国产成人精品久久亚洲高清不卡| 污黄网站在线观看| 成人在线观看小视频| 人妻少妇精品无码专区久久| 美女被c出白浆| 亚洲精品国产精品国自产| 九九热爱视频精品视频高清| 99久久久久久中文字幕一区| 日本激情视频一区二区三区| 男人猛进猛出女人屁股视频| 在线国产一区二区| 国产精品极品在线| 国产剧情在线一区| 久久精品国产99国产精品| 黄网站在线观看| 国产iv一区二区三区| 国产福利精品av综合导导航| 国产成人女人毛片视频在线| 国产精品一区二区x88av| 久久99久久99小草精品免视看| 中文字幕亚洲欧美日韩在线不卡| 日韩美女视频中文字幕| 欧美日韩国产va另类| 性xxxx18| 精品无码黑人又粗又大又长| 影音先锋在线国产| 水蜜桃久久夜色精品一区的特点| 日本福利小视频| 狠狠操精品视频| 成人福利网站| 欧美亚洲一级片| 欧美美女在线观看| www.男人天堂网| 日本黄色大片在线观看| 国产男男chinese网站| 日韩三级影视基地| 男男视频在线观看网站| 成人小视频在线观看免费| 天堂а在线中文在线无限看推荐| 97国产在线视频| 欧美另类69xxxx| av一区二区在线播放| 成人情趣片在线观看免费| caoporn超碰国产公开| 国产丝袜美女| 精品国产精品一区二区夜夜嗨| jizz免费| 777xxx欧美| 欧美一区二区在线观看视频| 欧美午夜女人视频在线| √天堂资源中文www| gogogo高清在线观看一区二区| 国产成人在线观看| 国产精品18久久久| 蜜臀精品一区二区三区在线观看| 在线精品国产| av一区二区不卡| 99久久亚洲精品| 久久一日本道色综合久久| 网友自拍一区| 一区二区乱码| 国产婷婷一区二区三区久久| 男女啪啪免费视频网站| 久久99精品久久久久久久久久久久| 久久久久亚洲精品中文字幕| av网站手机在线观看| 夜色资源网av在先锋网站观看| 国产精品美女黄网| 久久国产热视频| www视频网站| 瑟瑟视频在线免费观看| 日韩精品一区二区三| 亚洲最大最好的私人影剧院| 狠狠色狠狠色综合日日小说| 中日韩av在线播放| 欧美在线xxxx| 爱爱免费视频网站| 九九热这里只有精品免费看| 一起操在线播放| 一区二区视频免费观看| www日韩欧美| 国产一区二区三区视频免费观看| 中文字幕不卡在线观看| 黄色一级片在线免费观看| 最新中文字幕在线观看视频| www999久久| 精品中文字幕一区二区三区av| 亚洲裸体视频| 色婷婷av一区二区| 男人c女人视频| 精品国产乱码91久久久久久网站| 国产成+人+综合+亚洲欧美丁香花| 视频小说一区二区| ㊣最新国产の精品bt7086| 久久久精品人体av艺术| 日韩美女一区二区三区在线观看| 中文字幕在线天堂| 中文字幕日韩一区二区三区| 神马影院一区二区| 毛片网站在线| 日本视频一区二区在线观看| 午夜一级电影| 小明精品国产一区二区三区| 精品国内自产拍在线观看| 亚洲日本欧美日韩高观看| 中文字幕一二三区在线观看| 欧美日韩精品在线观看| 久久精品综合一区| 国产精品视频第一区| 青青在线观看视频中文字| 日本精品在线视频|