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

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

模板,PHPLIB處理方式(二)

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

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

對(duì)不起,你沒(méi)贏。但是如果你贏了,我們將對(duì)你說(shuō):
{MyOutput}

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

對(duì)不起,你沒(méi)贏。但是如果你贏了,我們將對(duì)你說(shuō):
祝賀!你贏了一輛新藍(lán)色Honda Prelude!

  下面是分析兩個(gè)模板的PHP代碼:

<?php

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

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

// 注意我們沒(méi)有調(diào)用p()
// 這里,仍然沒(méi)有輸出任何東西

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

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

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

?>
 最后調(diào)用了parse()和p()的兩行語(yǔ)句可以合并成一個(gè)簡(jiǎn)寫(xiě)函數(shù)pparse():

pparse("MyFinalOutput","SecondHandle");
  另一個(gè)PHPLIB模板的特性是set_file()和set_var()函數(shù)也能一次接收多組值,通過(guò)傳遞一個(gè)句柄/數(shù)組
對(duì)數(shù)組。這是一個(gè)例子:
<?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()傳遞第三個(gè)參數(shù),如果你想給模板變量追加數(shù)據(jù)而不是替換它。可以簡(jiǎn)單
的使用true作為第三個(gè)參數(shù)調(diào)用parse()和pparse(),如: <?php
$t->parse("MyOutput","MyFileHandle", true);
?>
  如果MyOutput已經(jīng)包含了數(shù)據(jù),MyFileHandle將被分析并且被追加到MyOutput已經(jīng)存在的數(shù)據(jù)上。這個(gè)技術(shù)非常有用,如果你已經(jīng)有了一個(gè)模板,你想要同一段文本被重復(fù)多次,例如列出一個(gè)數(shù)據(jù)庫(kù)查詢(xún)結(jié)果中的多行。你也可能是顯示數(shù)組中的變量,如下面的例子:
<?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)) {
// 設(shè)置 'value' 和 'name' 為每一個(gè)元素的值和名字
$t->set_var("name",$elementName); $t->set_var("value",$elementValue);
// 追加each_element的拷貝
$t->parse("array_elements","each_element",true);}$t->pparse("output","mainpage");?>
  這個(gè)例子使用了兩個(gè)模板,mainpage.ihtml和each_element.ihtml。mainpage.ihtml模板可能是這樣:


Here is the array:

{array_elements}

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

{name}: {value}

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



標(biāo)簽:模板 PHPLIB處理方式(二) 
主站蜘蛛池模板: 在线免费欧美 | 欧美视频一二三区 | 日本爱爱小视频 | 在线视频观看亚洲 | 性视频亚洲 | 天天摸天天干 | 亚洲国产中文字幕 | 午夜大片在线观看 | 五月婷婷一区 | 婷婷爱爱 | 天天干天天射天天舔 | 亚洲高清视频免费 | 天堂网亚洲 | 五月婷婷综合在线视频 | 中文精品视频一区二区在线观看 | 欧美一区二区三区久久综合 | 天天看片天天a免费观看 | 伊人六月 | 一二三四视频免费观看影视 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠扒开双腿 | 日本道久久| 屁屁影院在线播放 | 日本大片在线免费观看 | 亚洲五月综合网色九月色 | 一区二区色 | 亚洲午夜精品一级在线 | 日本视频中文字幕一区二区 | 我想看一级黄色毛片 | 日产一区二区三区 | 亚洲宅男天堂a在线 | 日本高清一区二区三区不卡免费 | 日韩精品一区二区三区大桥未久 | 日本在线视频免费观看 | 天天狠天天透天天伊人 | 色尼玛图| 色噜噜噜噜亚洲第一 | 性欧美暴力猛交69hd | 日本一二三区高清 | 日本高清在线一区 | 一区二区三区视频网站 | 伊人影视传媒有限公司 |