国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

在PHP中如何使用模板

瀏覽:78日期:2024-01-09 11:12:06

是否你面臨著創建由一個編程人員(可能就是你)和一個設計人員同時進行創作的網站?你不知道如何使工作對你倆來說變得容易嗎?我來給你答案:使用FastTemplate來使你的站點更容易定制!

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

·可以在幾秒鐘改變你的整個站點的外觀·抽象程序設計,沒有垃圾HTML代碼·設計人員不需要關心全部的'模糊'代碼·令人驚訝地快·更容易重用舊的模版(對普通的表單而說)

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

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

在開始編碼之前不要害怕思考。它可能會花費一些時間,但是這些花費會隨著項目的發展對你有所回報。

那么,如何應用FastTemplate呢?首先你需要先進行一個簡單地調用:

<?php $tpl=new FastTemplate ('path');?>傳遞給它一個路徑,是所有你的模板文件存放的目錄。它返回一個對象,你可以用它進行參數賦值,生成頁面等等。

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

另外,FastTemplate需要知道你想如何調用你的模板。你需要通過傳遞一個相關數組(associativearray)給 <?php $tpl->define(); ?>來給它一個提示。<?php$tpl->define(array(foo => 'foo.tpl',bar => 'bar.tpl'));?>這些賦值將分別給foo和bar以不同的文件(名為foo.tpl和bar.tpl)。

現在你想讓FastTemplate替換在模板foo中的所有{MACROS}為相應的值。通過發出命令

<?php$tpl->parse(PAGECONTENT, 'foo');?>來實現。 這個命令將把模板'foo'的內容賦給PAGECONTENT。 當然,我們還沒有做完,因為模板bar中為主要的頁面定義,FastTemplate需要替換其中的{PAGECONTENT}宏。我們也需要給PAGETITLE賦值,如下所做: <?php$tpl->assign(PAGETITLE, 'FooBar test');$tpl->parse(MAIN, 'bar');?>容易吧,不是嗎?我們現在只需要把它輸出: <?php$tpl->FastPrint(MAIN);?>下面三個文件顯示了實際練習中的更多的細節描述。我不知道在現實生活了離了這個技術應如何生活 --你的設計者會高興,你的老板會微笑,因為你可以在更短的時間內做更多的事情。

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 -->很明顯示什么都沒做。請看{NAME}.demo.php3 <?phpinclude '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);?>

創建整個表格我也寫了一個短的例子,用來演示如何通過單行模板來生成整個表格。它很有效,因為你仍然不需要直接修改HTML文檔。

我們增加一個模板的內容到一個已經定義過的唯一命名的后面來創建HTML表格。這個可以通過在調用$tpl->parse()時,在模板名前加上一個'.'來實現。 <?php// 將模板foo的內容賦給TPL1$tpl->parse(TPL1, 'foo');

// 在TPL1后附上模板bar的內容$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

<?phpinclude '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,' 你可能會說,'一切都太好了。但是它不會影響我的網站的速度嗎?'

不,你的網站可能變得更快。一個簡單的原因就是:因為你作為一個編程人員關心的是設計你的應用和編寫代碼,你的代碼將會更有效率,處理相同的任務更容易和更快速。所以,你可能會在上面列出的為什么考慮使用FastTemplate在你的項目中的原因列表中增加另一條理由。

如果你只是想轉換一個已經存在的web站點,性能上的成功可能不會被注意到。我建議在PHP中使用正則表達式緩沖,它將對這種情況有所幫助。因為FastTemplate對每一個宏都使用正則表達式,每一個正則表達式將被只編譯一次并且速度上的影響可以忽略不計。

標簽: PHP
主站蜘蛛池模板: 狠狠色狠狠色狠狠五月ady | 精品亚洲一区二区三区 | 午夜欧美成人 | 亚洲黄色免费观看 | 亚洲三级在线观看 | 99视频在线观看免费 | 国产性tv国产精品 | 农村寡妇偷毛片一级 | 韩国免费特一级毛片 | 手机看成人片 | 亚洲三级小视频 | 久久一级黄色片 | 精品国产欧美一区二区 | 男女乱淫真视频免费一级毛片 | 一区二区三区影视 | 久久国产成人亚洲精品影院老金 | 国产 日韩 欧美 在线 | 亚州国产| 欧美国产成人一区二区三区 | 韩国啪啪网站 | 欧美日韩永久久一区二区三区 | 亚洲免费播放 | 色秀视频在线观看88品善网 | 欧美一级久久久久久久久大 | 特级a欧美孕妇做爰片毛片 特级a欧美做爰片毛片 | 日韩永久在线观看免费视频 | 欧美一区二区三区在线播放 | 一级视频网站 | 国产欧美日韩在线观看一区二区三区 | 成人欧美日韩高清不卡 | 亚洲小视频在线 | 久草中文在线视频 | 国产高清一国产免费软件 | 免费真实播放国产乱子伦 | 中文字幕一级毛片视频 | 午夜三级国产精品理论三级 | 在线看片欧美 | 久久久久国产午夜 | 久久福利青草免费精品 | 欧美特级大片 | 日本成年人视频网站 |