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

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

模板,PHPLIB處理方式(二)

[摘要]嵌套的模板   parse()函數的一個靈巧的特性是它創建的MyOutput句柄是一個真正的模板變量,就象some_color 是一 個模板變量。所以如果你有另一個模板,它有一個MyOutput標簽,當你分析第二個模板時,所有的 MyOutput標記將被替換為MyOutput中的分析后的文本。這個...
嵌套的模板

  parse()函數的一個靈巧的特性是它創建的MyOutput句柄是一個真正的模板變量,就象some_color 是一
個模板變量。所以如果你有另一個模板,它有一個{MyOutput}標簽,當你分析第二個模板時,所有的
{MyOutput}標記將被替換為MyOutput中的分析后的文本。這個特性允許你將一個模板文件嵌入到另一個模板
中。所以,我們可能有另一個名為wholePage.ihtml的模板,內容如下:

對不起,你沒贏。但是如果你贏了,我們將對你說:
{MyOutput}

  并且在wholePage.ihtml被分析后,最后的結果將是:

對不起,你沒贏。但是如果你贏了,我們將對你說:
祝賀!你贏了一輛新藍色Honda Prelude!

  下面是分析兩個模板的PHP代碼:

<?php

$t = new Template("/home/mydir/mytemplates/");

// 這三行同第一個例子一樣
$t->set_file("MyFileHandle","MyTemplate.ihtml");
$t->set_var("some_color",$my_color);
$t->parse("MyOutput","MyFileHandle");

// 注意我們沒有調用p()
// 這里,仍然沒有輸出任何東西

// 現在分析第二個模板
$t->set_file("WholeHandle","wholePage.ihtml");

// wholePage.ihtml 有 "{MyOutput}" 在里面
$t->parse("MyFinalOutput","WholeHandle");

// 所有的 {MyOutput} 被替換了
$t->p("MyFinalOutput");
// 輸出 MyFinalOutput 的值

?>
 最后調用了parse()和p()的兩行語句可以合并成一個簡寫函數pparse():

pparse("MyFinalOutput","SecondHandle");
  另一個PHPLIB模板的特性是set_file()和set_var()函數也能一次接收多組值,通過傳遞一個句柄/數組
對數組。這是一個例子:
<?php
$t->set_file(array( "pageOneHandle" => "pageone.ihtml",
"pageTwoHandle" => "pagetwo.ihtml"));
$t->set_var(array( "last_name" => "Gates",
"first_name" => "Bill",
"net_worth" => $reallybignumber));
?>
添加模板文本

  你可以給parse()和pparse()傳遞第三個參數,如果你想給模板變量追加數據而不是替換它?梢院唵
的使用true作為第三個參數調用parse()和pparse(),如: <?php
$t->parse("MyOutput","MyFileHandle", true);
?>
  如果MyOutput已經包含了數據,MyFileHandle將被分析并且被追加到MyOutput已經存在的數據上。這個技術非常有用,如果你已經有了一個模板,你想要同一段文本被重復多次,例如列出一個數據庫查詢結果中的多行。你也可能是顯示數組中的變量,如下面的例子:
<?php
$t = new Template("/home/mydir/mytemplates/"); $t->set_file(array("mainpage" => "mainpage.ihtml", "each_element" => "each_element.ihtml"));reset($myArray);while (list($elementName, $elementValue) = each($myArray)) {
// 設置 'value' 和 'name' 為每一個元素的值和名字
$t->set_var("name",$elementName); $t->set_var("value",$elementValue);
// 追加each_element的拷貝
$t->parse("array_elements","each_element",true);}$t->pparse("output","mainpage");?>
  這個例子使用了兩個模板,mainpage.ihtml和each_element.ihtml。mainpage.ihtml模板可能是這樣:


Here is the array:

{array_elements}

 上面的{array_elements}標簽將被each_element.ihtml的拷貝所替換,它將根據數組($myArray)進行重
復。each_element.ihtml模板看上去可能是:

{name}: {value}

  處理結果是一個包含$myArray元素的格式化很好的表格。但是如果將兩個模板合并成一個模板不是更好
嗎?實際上,它們可以使用模板塊來合并使用。模板塊允許從一個模板中取出一塊文本,所以你可以重復很
多次,或者在它上面做任何你想做的事情。但是我將在另一篇文章講述這個特性。



主站蜘蛛池模板: 四虎在线永久 | 色噜噜噜噜亚洲第一 | 亚洲天堂ww| 亚洲高清在线播放 | 深夜视频免费 | 日韩在线视频网 | 日日摸夜夜夜夜夜添 | 亚洲成人精品 | 亚州人成网在线播放 | 三级韩国一区久久二区综合 | 欧美亚洲国产一区 | 亚洲日韩中文字幕一区 | 欧美午夜视频 | 天天插天天干天天射 | 伊人网综合在线观看 | 亚洲成a人v欧美综合天堂麻豆 | 欧美一区二区三区激情啪啪 | 色国产精品一区在线观看 | 欧美一级特黄aaaaaa在线看片 | 日本欧美国产精品第一页久久 | 欧洲97色综合成人网 | 欧美综合中文字幕久久 | 中文字幕在线三浦惠理子 | 亚洲tv精品一区二区三区 | 四虎精品视频 | 小屁孩cao大人免费网站 | 中文字幕精品在线视频 | 亚洲国产成人精彩精品 | 人人草人人爽 | 午夜色片 | 香蕉成人福利片视频在线下载 | 青青草国产免费久久久下载 | 欧美一级在线观看播放 | 日产日韩亚洲欧美综合搜索 | 日本乱人伦片中文字幕三区 | 四虎影院在线视频 | 一级十八以 下岁女子毛片 一级人做人爰a全过程免费视频 | 自拍视频在线播放 | 欧美一级纶理片免费 | 综合色网站 | 亚洲人成在线播放网站岛国 |