PHP之heredoc模板技術,php程式模板技術。
基本介紹
- 中文名:PHP之heredoc模板技術
- 類型:PHP文檔代碼
- 用途:實現完全的代碼和HTML的分離
- 操作:網路設計
php程式界有很多種模板技術和方法;但使用起來大多不太方便。
我經過思考和測試,發明了一種簡單而巧妙的方法。
我的目標是:把html從php中分離出來,並且html中不包含php控制程式。
在php4中,提供了print<<< HTML 功能。舉例如下:
$data="這裡是內容";
print<<< HTML
$data
HTML;
?>
輸出:這裡是內容。
另外一方面,php中有函式eval()。它能夠執行php代碼。我們就結合上述
知識來建立一個通用的函式getTpl().如下:
下面是demo.php
function getTpl($tplname,$EXT='.htm')
{
extract($GLOBALS);
$path=$tplname.$EXT;
eval("print<<< EOT\n".readfn($path)."\nEOT;\n");
}
function readfn($fn)
{
$fp=fopen($fn,"rb");
return fread($fp,filesize($fn));
fclose($fp);
}
$title='這是標題';
$data='這裡是內容';
getTpl('demo');
?>
我經過思考和測試,發明了一種簡單而巧妙的方法。
我的目標是:把html從php中分離出來,並且html中不包含php控制程式。
在php4中,提供了print<<< HTML 功能。舉例如下:
$data="這裡是內容";
print<<< HTML
$data
HTML;
?>
輸出:這裡是內容。
另外一方面,php中有函式eval()。它能夠執行php代碼。我們就結合上述
知識來建立一個通用的函式getTpl().如下:
下面是demo.php
function getTpl($tplname,$EXT='.htm')
{
extract($GLOBALS);
$path=$tplname.$EXT;
eval("print<<< EOT\n".readfn($path)."\nEOT;\n");
}
function readfn($fn)
{
$fp=fopen($fn,"rb");
return fread($fp,filesize($fn));
fclose($fp);
}
$title='這是標題';
$data='這裡是內容';
getTpl('demo');
?>