不管是靜態(tài)頁面還是動態(tài)頁面,最終呈現(xiàn)給用戶的都是由HTML、CSS、JS等組成的,瀏覽器能解析的內(nèi)容。
HTML模版與PHP的結(jié)合方式有三種:
- 混合編程
- 使用模版引擎
- 前后端分離
混合編程就是一個文件里既有HTML代碼,也有PHP代碼,這是PHP早期的開發(fā)模式。
由于在混合編程模式下,PHP文件里既有HTML代碼,也有PHP代碼,極不方便前端人員和后端人調(diào)試。這時候就有人提出可以模板引擎將模板文件與PHP代碼分開開發(fā),前端人員需要在模版文件里使用數(shù)據(jù)時就先用一些特殊的標簽位代替,等頁面渲染時模板引擎再把這些標簽位使用PHP代碼代替。PHP里比較常用的模版引擎有Smarty,QuickSkin……一些主流的框架也會內(nèi)置自己的模版引擎。
模板引擎的使用雖然一定程度上將模板文件和PHP代碼分離開來,但模版引擎里一些特殊的標簽,可能有時候還是得需要后端人員操作,這樣就導(dǎo)致前端人員和后端人員之間還是會有一些牽制,從而影響開發(fā)效率。
那如何排除前后端開發(fā)的相互干擾呢?答案:前后端分離。
前后端分離是將前端開發(fā)和后端開發(fā)隔離開來,前端開發(fā)人員只負責HTML、JS、CSS,后端人員只負責PHP,兩者的交互只會通過接口調(diào)用的方式,如使用Ajax。前后端分離真正做到了前后端人員的相互分離,互不打擾,但相對而言也對前端人員產(chǎn)生了挑戰(zhàn),因為前端人員現(xiàn)在要知道如何處理數(shù)據(jù)。
隨著現(xiàn)在終端越來越多,前后端分離將是一個必然的趨勢。