第一個目的是談論得最多的目的,它設想的情形是:一組程序員編寫用於生成頁面內容的PHP腳本,同時另一組設計人員設計HTML和圖形以控制頁面的最終外觀。分離功能和布局的基本思想就是使得這兩組人能夠各自編寫和使用獨立的一組文件:程序員只需關心那些只包含PHP代碼的文件,無需關心頁面的外觀;而頁面設計人員可以用自己最熟悉的可視化編輯器設計頁面布局,無需擔心破壞任何嵌入到頁面的PHP代碼。
如果你曾經看過幾個關於PHP模板的教程,那麼你應該已經明白模板的工作機制。考慮一個簡單的頁面局部:頁面的上方是頁頭,左邊是導航條,其余部分是內容區域。
可以看出頁面如何由模板構造而成:main模板控制著整個頁面的布局;header模板和leftnav模板控制著頁面的公共元素。花括號“{}”裡面的標識符是內容占位符。使用模板最主要的好處在於界面設計者能夠按照自己的意願編輯這些文件,比如設置字體、修改顏色和圖形,或者完全地改變頁面的布局。界面設計者可以用任何普通HTML編輯器或者可視化工具編輯這些頁面,因為這些文件都只包含HTML代碼,沒有任何PHP代碼。
PHP代碼全部保存到單獨的文件中,這個文件也就是由頁面URL實際調用的文件。Web服務器通過PHP引擎解析該文件,然後把結果返回給浏覽器。一般地,PHP代碼總是動態地生成頁面內容,比如查詢數據庫或者執行某種計算等。下面是一個例子:
// 此處的PHP代碼設置$content
使其包含合適的頁面內容
$tpl->assign('CONTENT', $content);
$tpl->parse('HEADER', 'header');
$tpl->parse('LEFTNAV', 'leftnav');
$tpl->parse('MAIN', 'main');
$tpl->FastPrint('MAIN');
?>