?可以在幾秒鐘改變你的整個(gè)站點(diǎn)的外觀 ?抽象程序設(shè)計(jì),沒(méi)有垃圾HTML代碼 ?設(shè)計(jì)人員不需要關(guān)心全部的"模糊"代碼 ?令人驚訝地快 ?更容易重用舊的模版(對(duì)普通 " /> 夜夜躁狠狠躁夜躁2021鲁大师,亚洲国产精品t66y,中文字幕 亚洲一区

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

在PHP中使用模板的方法

好了,你可能想知道為什么你要使用FastTemplates。 

?可以在幾秒鐘改變你的整個(gè)站點(diǎn)的外觀 
?抽象程序設(shè)計(jì),沒(méi)有垃圾HTML代碼 
?設(shè)計(jì)人員不需要關(guān)心全部的"模糊"代碼 
?令人驚訝地快 
?更容易重用舊的模版(對(duì)普通的表單而說(shuō))  

  FastTemplate源于一個(gè)有同樣名稱(chēng)的Perl軟件包(可以在CPAN上找到)。你可以下載php 的版本從它的主頁(yè)(本站下載地址為:http://www.phpe.NET/downloads/1.shtml)。你只需要其中的一個(gè)類(lèi)的文件(class.FastTemplate.php)。 



  讓我首先解釋一下在使用模板生成一個(gè)頁(yè)面與簡(jiǎn)單地通過(guò)echo或print 將頁(yè)面輸出之間有什么不同吧。 
簡(jiǎn)單地使用echo/print的方法很適合編寫(xiě)短的腳本,但是不能幫助你更好的組織和定制。模板在另一方面給 
了你創(chuàng)建多國(guó)語(yǔ)言站點(diǎn)的能力,只是通過(guò)改動(dòng)一個(gè)參數(shù)。他們可以促使你更關(guān)心你要做的。 



  在開(kāi)始編碼之前不要害怕思考。它可能會(huì)花費(fèi)一些時(shí)間,但是這些花費(fèi)會(huì)隨著項(xiàng)目的發(fā)展對(duì)你有所回報(bào)。 



  那么,如何應(yīng)用FastTemplate呢?首先你需要先進(jìn)行一個(gè)簡(jiǎn)單地調(diào)用: 

<?php $tpl=new FastTemplate ("path"); ?> 

傳遞給它一個(gè)路徑,是所有你的模板文件存放的目錄。它返回一個(gè)對(duì)象,你可以用它進(jìn)行參 
數(shù)賦值,生成頁(yè)面等等。  

  FastTemplate是基于這樣一種假設(shè):一個(gè)很大的頁(yè)面是由很多小的部分組成的。每一個(gè)部分有一個(gè)唯一 
的名字。最小的部分是賦值給這樣有著唯一名字的一段正常的文本字符串。這個(gè)可以通過(guò) 
<?php 
$tpl->assign(NAME, "text"); 
?> 
來(lái)完成。現(xiàn)在,如果你的一個(gè)模板包含{NAME},F(xiàn)astTemplate 就知道你 
的意圖了。 


  另外,F(xiàn)astTemplate需要知道你想如何調(diào)用你的模板。你需要通過(guò)傳遞一個(gè)相關(guān)數(shù)組(associative 
array)給 <?php $tpl->define(); ?> 
來(lái)給它一個(gè)提示。 
以下為引用的內(nèi)容:
<?php 
$tpl->define(array(foo => "foo.tpl", 
bar => "bar.tpl")); 
?>  

  這些賦值將分別給foo和bar以不同的文件(名為foo.tpl和bar.tpl)。  

  現(xiàn)在你想讓FastTemplate替換在模板foo中的所有{MACROS}為相應(yīng)的值。通過(guò)發(fā)出命令  

以下為引用的內(nèi)容:
<?php 
$tpl->parse(PAGECONTENT, "foo"); 
?>  

來(lái)實(shí)現(xiàn)。 這個(gè)命令將把模板"foo"的內(nèi)容賦給PAGECONTENT。   當(dāng)然,我們還沒(méi)有做完,因?yàn)槟0錬ar中為主要的頁(yè)面定義,F(xiàn)astTemplate需要替換其中的 
{PAGECONTENT}宏。我們也需要給PAGETITLE賦值,如下所做: 
以下為引用的內(nèi)容:  
<?php 
$tpl->assign(PAGETITLE, "FooBar test"); 
$tpl->parse(MAIN, "bar"); 
?> 

  容易吧,不是嗎?我們現(xiàn)在只需要把它輸出: <?php 
$tpl->FastPrint(MAIN); 
?> 
  下面三個(gè)文件顯示了實(shí)際練習(xí)中的更多的細(xì)節(jié)描述。我不知道在現(xiàn)實(shí)生活了離了這個(gè)技術(shù)應(yīng)如何生活 -- 
你的設(shè)計(jì)者會(huì)高興,你的老板會(huì)微笑,因?yàn)槟憧梢栽诟痰臅r(shí)間內(nèi)做更多的事情。 



以下為引用的內(nèi)容:
bar.tpl 
<!-- bar.tpl --> 
<HTML> 
<HEAD><TITLE>Feature world - {PAGETITLE}</TITLE></HEAD> 
<BODY BGCOLOR=BLACK TEXT=WHITE> 
<H1>{PAGETITLE}</H1> 
{PAGECONTENT} 
</BODY> 
</HTML> 
foo.tpl <!-- foo.tpl --> 

很明顯示什么都沒(méi)做。請(qǐng)看{NAME}. 
以下為引用的內(nèi)容: 



demo.php
<?php 
include "class.FastTemplate.php3"; 
$tpl = new FastTemplate( "."); 
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl"));  

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




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



$tpl->FastPrint(MAIN); 
?>  

創(chuàng)建整個(gè)表格 
  我也寫(xiě)了一個(gè)短的例子,用來(lái)演示如何通過(guò)單行模板來(lái)生成整個(gè)表格。它很有效,因?yàn)槟闳匀徊恍枰?nbsp;
接修改HTML文檔。 



  我們?cè)黾右粋€(gè)模板的內(nèi)容到一個(gè)已經(jīng)定義過(guò)的唯一命名的后面來(lái)創(chuàng)建HTML表格。這個(gè)可以通過(guò)在調(diào)用 
$tpl->parse()時(shí),在模板名前加上一個(gè)"."來(lái)實(shí)現(xiàn)。 <?php 
// 將模板foo的內(nèi)容賦給TPL1 
$tpl->parse(TPL1, "foo");  

// 在TPL1后附上模板bar的內(nèi)容 
$tpl->parse(TPL1, ".bar"); 
?>  

page.tpl 




以下為引用的內(nèi)容:
<HTML> 
<HEAD><TITLE>Feature world - {PAGE_TITLE}</TITLE></HEAD> 
<BODY BGCOLOR=BLACK TEXT=WHITE> 
<H1>{PAGE_TITLE}</H1> 
{PAGE_CONTENT} 
</BODY> 
</HTML>  
table.tpl 



以下為引用的內(nèi)容:
<TABLE> 
<TR> <TH>name</TH> <TH>size</TH> </TR> 
{TABLE_ROWS} 
</TABLE>  





table_row.tpl  

以下為引用的內(nèi)容:
<TR> 
<TD>{FILENAME}</TD> 
<TD>{FILESIZE}</TD> 
</TR>  




yad.php



以下為引用的內(nèi)容:
<?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"); 
?>  

速度討論 




  "Ok," 你可能會(huì)說(shuō),"一切都太好了。但是它不會(huì)影響我的網(wǎng)站的速度嗎?" www~ 

  不,你的網(wǎng)站可能變得更快。一個(gè)簡(jiǎn)單的原因就是:因?yàn)槟阕鳛橐粋€(gè)編程人員關(guān)心的是設(shè)計(jì)你的應(yīng)用和編寫(xiě)代碼,你的代碼將會(huì)更有效率,處理相同的任務(wù)更容易和更快速。所以,你可能會(huì)在上面列出的為什么考慮使用FastTemplate在你的項(xiàng)目中的原因列表中增加另一條理由。  

  如果你只是想轉(zhuǎn)換一個(gè)已經(jīng)存在的web站點(diǎn),性能上的成功可能不會(huì)被注意到。我建議在php中使用正則表達(dá)式緩沖,它將對(duì)這種情況有所幫助。因?yàn)镕astTemplate對(duì)每一個(gè)宏都使用正則表達(dá)式,每一個(gè)正則表達(dá)式將被只編譯一次并且速度上的影響可以忽略不計(jì)。

php技術(shù)在PHP中使用模板的方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品视频在线播放 | 一级午夜aaa免费看三区 | 国产福利资源在线 | 男女免费视频网站 | 亚洲色综合 | 欧美日韩专区 | 三级高清 | 综合久久av | 精品亚洲一区二区 | 欧美一级免费 | 中文字幕精品一区久久久久 | 操皮视频 | 国产在线看片 | 日韩av中文| 国产不卡视频在线 | 欧美亚洲视频 | 欧美日韩最新 | 北条麻妃国产九九九精品小说 | 国产高清精品在线 | 婷婷丁香综合网 | 91视频观看 | 久久精品欧美一区二区三区不卡 | 午夜小电影 | 欧美精品一区在线发布 | 日韩中文字幕在线视频 | 国产乱码精品一区二区三区中文 | 成年无码av片在线 | 成人欧美一区二区三区在线播放 | 亚洲欧美在线观看 | 91精品国产91| 成人小视频在线免费观看 | 成人免费精品 | 久久久资源 | 一级看片免费视频 | 亚洲精品888 | 国产精品不卡一区 | 97中文视频 | 亚洲在线 | 久久久久久高潮国产精品视 | 成人深夜福利 | 国产精品成人一区二区三区夜夜夜 |