- 相關(guān)推薦
如何分離美工與程序員的職能
如果你正在設(shè)計一個交互式網(wǎng)站,你一定會關(guān)注兩個主要的問題,就是美工和程序。這也是一個網(wǎng)站在建設(shè)中拋開其內(nèi)容之后最關(guān)鍵的要素。在小編看來,通常有兩種方式來協(xié)調(diào)美工和程序之間的關(guān)系:
1.先做好美工頁面,然后由程序員直接在美工頁面的HTML文件中嵌入ASP、JSP、PHP等程序代碼。
2.美工和程序同時進行,但這時因為沒有頁面框架,程序只能做出一些關(guān)鍵代碼,雙方完成后再進行一次美工頁面和程序代碼的嵌入合成。
在實際的網(wǎng)站建設(shè)過程中,由于人員、進度等環(huán)境的限制,大家通常會混合地使用上面兩種協(xié)調(diào)方式。然而這兩種方法都有不足之處:
1. 效率不高。兩者協(xié)調(diào)不好可能產(chǎn)生等待、重復(fù)代碼調(diào)試步驟等現(xiàn)象;
2. 調(diào)試不暢。由于程序代碼最終需要嵌入在HTML頁面中,代碼的嵌入、調(diào)試、糾錯都比較繁瑣;
3. 維護不便。一旦美工設(shè)計需要修改,如網(wǎng)站改版,那么所有程序和HTML代碼混合頁面都需要重寫;
如果你正在使用PHP程序建設(shè)網(wǎng)站,那么恭喜你,PHP的模板技術(shù)會比較圓滿地解決上述問題。
那么什么是PHP的模板技術(shù)?PHP模板即PHPlib的Template技術(shù),是PHPLIB程序庫中的一個主要模塊之一,發(fā)展自Perl的Template。而PHPLIB則是在PHP上的一個擴展,提供了很多類庫,能夠方便地實現(xiàn)一些基本功能如用戶認證,數(shù)據(jù)庫封裝等。我們可以在phplib.netuse.de上下載到其最新版本。要使用PHP模板,只需在PHPLIB的程序包中解開template.inc文件,并放到我們的PHP程序能夠調(diào)用的目錄里。
剝開神秘的面紗,模板技術(shù)的核心概念簡單得令人心跳:要將你的美工頁面指定為模板文件,只需將頁面中活動的內(nèi)容如數(shù)據(jù)庫輸出,用戶交互等部分定義成形式為{variable}的變量放在模板文件中相應(yīng)的位置,當(dāng)用戶瀏覽時,由PHP程序文件打開該模板文件,將模板文件中定義的變量進行替換,當(dāng)然,替換成對應(yīng)的數(shù)據(jù)庫輸出或者用戶交互等動態(tài)生成內(nèi)容,舉例如下:
定義模板文件:Mytemplate.html
Mytemplte.html的內(nèi)容為:
.....
...
今天是{today}
...
我們可以看到,事實上模板文件就是一個普通的HTML文件,它包含了你所想要的版面、美工等要素,而內(nèi)部的活動內(nèi)容則以變量的形式存在,并等待被替換。顯然,模板文件直接被瀏覽是毫無意義的,因為它不包含任何PHP程序,所有的內(nèi)容都是“死”的,現(xiàn)在我們來看看,怎樣來調(diào)用模板,讓它“活動”起來。
假設(shè)我們在test.php文件中使用了上述模板,當(dāng)用戶瀏覽test.php文件時,test.php文件處理過程如下:
test.php
mydate=date("Y年m月d日"); //處理好變量的值
include("template.inc"); //調(diào)入將模板程序模塊
mytemp = new Template("/你的模板文件所在目錄/");
//創(chuàng)建一個模板實例mytemp,如果模板就在當(dāng)前目錄,那么使用"."就可以
mytemp->set_file("MyFileHandle","MyTemplate.html");
//設(shè)置MyFileHandle文件句柄指向我們所要調(diào)用的模板文件Mytemplate.html
mytemp->set_var("today", mydate);
//調(diào)用模板的set_var方法,設(shè)置模板中的變量today值為$mydate
mytemp->parse("MyOutput","MyFileHandle");
//調(diào)用模板的parse方法,對MyFileHandle文件句柄所指向的模板文件進行分析,替換其中相應(yīng)變量
//并把替換結(jié)果即完整的HTML文件內(nèi)容保存在字串變量MyOutput中
mytemp->p("MyOutput");
// 打印輸出結(jié)果字串變量MyOutput的值
?>
就是這么簡單,模板技術(shù)很輕松地把網(wǎng)站設(shè)計分離成了清晰的美工和程序兩個方面,并把他們的成果簡單方便地結(jié)合了起來。如美工設(shè)計需要修改,那么我們只要記住原模板中各個變量名,把他們插入到新模板中對應(yīng)位置就可以了。真的很輕松!另一方面,在PHP程序中基本沒有了PHP腳本和HTML語法混合的現(xiàn)象,很大地提高了PHP系統(tǒng)的執(zhí)行效率,而且如果是數(shù)據(jù)庫等一些費時的操作,現(xiàn)在可以很及時地關(guān)閉數(shù)據(jù)庫,釋放資源,這樣也在一定程度上提高了PHP和相關(guān)系統(tǒng)的資源使用效率。
【如何分離美工與程序員的職能】相關(guān)文章:
如何學(xué)好網(wǎng)頁美工設(shè)計09-05
如何學(xué)好網(wǎng)頁美工設(shè)計課程06-27
如何才能學(xué)好網(wǎng)頁美工設(shè)計課程06-04
項目經(jīng)理的管理職能10-26
企業(yè)的質(zhì)量管理職能10-19
企業(yè)的管理職能有哪些08-11
保險公估人的職能07-13
經(jīng)營管理有什么職能-關(guān)于經(jīng)營管理的五大職能10-29
施工項目質(zhì)量管理的職能09-02
辦公文秘的職能是什么?08-26