如果你正在設計一個交互式網站,你一定會關注兩個主要的問題,就是美工和程序。這也是一個網站在建設中拋開其內容之後最關鍵的要素。通常有兩種方式來協調美工和程序之間的關系:
1.先做好美工頁面,然後由程序員直接在美工頁面的HTML文件中嵌入ASP、JSP、PHP等程序代碼。
2.美工和程序同時進行,但這時因為沒有頁面框架,程序只能做出一些關鍵代碼,雙方完成後再進行一次美工頁面和程序代碼的嵌入合成。
在實際的網站建設過程中,由於人員、進度等環境的限制,大家通常會混合地使用上面兩種協調方式。然而這兩種方法都有不足之處:
1. 效率不高。兩者協調不好可能產生等待、重復代碼調試步驟等現象;
2. 調試不暢。由於程序代碼最終需要嵌入在HTML頁面中,代碼的嵌入、調試、糾錯都比較繁瑣;
3. 維護不便。一旦美工設計需要修改,如網站改版,那麼所有程序和HTML代碼混合頁面都需要重寫;
如果你正在使用PHP程序建設網站,那麼恭喜你,PHP的模板技術會比較圓滿地解決上述問題。
那麼什麼是PHP的模板技術?PHP模板即PHPlib的Template技術,是PHPLIB程序庫中的一個主要模塊之一,發展自Perl的Template。而PHPLIB則是在PHP上的一個擴展,提供了很多類庫,能夠方便地實現一些基本功能如用戶認證,數據庫封裝等。我們可以在phplib.netuse.de上下載到其最新版本。要使用PHP模板,只需在PHPLIB的程序包中解開template.inc文件,並放到我們的PHP程序能夠調用的目錄裡。
剝開神秘的面紗,模板技術的核心概念簡單得令人心跳:要將你的美工頁面指定為模板文件,只需將頁面中活動的內容如數據庫輸出,用戶交互等部分定義成形式為{variable}的變量放在模板文件中相應的位置,當用戶浏覽時,由PHP程序文件打開該模板文件,將模板文件中定義的變量進行替換,當然,替換成對應的數據庫輸出或者用戶交互等動態生成內容,舉例如下:
定義模板文件:Mytemplate.html
Mytemplte.html的內容為:
<html>
.....
<body>
...
...
</body>
</html>
我們可以看到,事實上模板文件就是一個普通的HTML文件,它包含了你所想要的版面、美工等要素,而內部的活動內容則以變量的形式存在,並等待被替換。顯然,模板文件直接被浏覽是毫無意義的,因為它不包含任何PHP程序,所有的內容都是“死”的,現在我們來看看,怎樣來調用模板,讓它“活動”起來。