這一個方法的靈活性比較高,每套皮膚可以有自己的布局,有自己的個性。實現:比如模板中有一個標識$Subject,程序代碼會把它替換成文章標題,然後有一個標識塊<!- Loop[ArticleList]--><h1>$Subject</h1><div>$Content</div><!--/Loop-->,程序代碼會把它替換成一個文章列表,最後輸出處理完所有標識符的內容。
通常,我們會緩存讀取到的模板內容,但字符串的替換始終不可避免,或者也會把替換過的內容也緩 存起來,但這樣子,就等於要緩存模板內容以及替換過的內容,占用了兩份似乎挺重復內容的內存。
優點:模板靈活程度很高,可以隨便改動頁面布局。
缺點:影響性能,開發人員維護難,必須有特定的標識符來表示頁面變量,後期維護可能會帶來非常 多的問題。
如何改變網站模板調用的CSS文件換膚
這一個,嚴格上來講,不應該算作皮膚機制。雖然CSS非常強大,也能夠通過它來任意改變頁面元素布局,但它的HTML始終是不變的,所以局限性是非常大的。
優點:完全不影響性能,甚至可以完全不由服務端代碼來管理它的變換,可以使用JS來切換皮膚。
缺點:如果作為核心皮膚機制的話,非常有局限性。