php的模板技術應該是常提到的,像比較出名的phplib fasttemplate,都基本上實現了MVC的模式,功不可磨,現在用這2個模板的好像不多了,因為有另外的模板類別smarty ,smarty 和phplib 這些模板類別的最主要的區別是,smarty 加了快取的功能,每次打開程式不用都重新編譯模板。
下面來說我用過smarty後,對其的看法。
smarty 並沒有做的最好,因為它編譯後的模板太過臃腫,你可以打開smarty編譯後的模板頁面,裡面都是些對象,而且很複雜,PHP對對象變量處理相比是很慢的,而且編譯後的模板是不需要程式設計師去看的,何苦要搞的這麼複雜,會影響速度。
另外,想用smarty,還需要熟悉它的一些專門的語法,好比又要學習一門新的語言(雖然不是很複雜,但是也是很麻煩的)。
最後,smarty很死,幾乎無法定義自己想要的模板標籤。
下面介紹一種感覺不錯的模板技術。 discuz!的模板函數。
discuz!的模板函數就是把模板中的標籤,直接替換成php的語法,最後程序執行的結果實際上是php和html混和的程序,這樣程序速度是最快,沒有人會反對這個說法吧。
discuz!的模板函數很簡潔,只有短短的幾十行,比起smarty,要簡潔太多了,這麼簡潔的程式碼,如果你要添加新的功能或者標籤是非常簡單的,同樣實現MVC ,而且速度比smarty絕對快。實現了靈活性和高速的完美結合。