反思總結:模板解析類(lèi)的寫(xiě)法
反思總結:模板解析類(lèi)的寫(xiě)法
上學(xué)期寫(xiě)模板的時(shí)候,大多是一些記憶性的東西,很多東西本質(zhì)上的東西并沒(méi)有從底子里理解,模板解析類(lèi)的寫(xiě)法-反思總結。通過(guò)一學(xué)期的理解,加上smarty的應用,對模板解析逐步了解之后,重新看了一下以前的源碼,做一些思維上的總結和反思。
模板解析類(lèi),首先有兩個(gè)部分,一個(gè)模板,一個(gè)解析。
模板:模板負責提取VIEW層的內容,生成編譯,緩存,負責判斷什么時(shí)候調用緩存編譯,什么時(shí)候生成緩存編譯。同時(shí)模板也負責存儲從業(yè)務(wù)邏輯層注入的變量,工作總結《模板解析類(lèi)的寫(xiě)法-反思總結》。
解析:解析僅僅負責將view內容解析轉換成新的內容。注意,都是內容!
由于模板解析類(lèi)分為兩個(gè)部分,所以我們拆分為兩個(gè)類(lèi),一個(gè)TEMPLATE.CLASS.PHP一個(gè)PARSER.CLASS.PHP
模板類(lèi)務(wù)必有一個(gè)成員屬性和方法,那就是array變量集合,和assign注入函數
模板類(lèi)調用display目的是為了include進(jìn)緩存或編譯。
但是在display之前,必須生成緩存或編譯,于是,display里要實(shí)例化解析類(lèi),通過(guò)解析類(lèi),生成正確的內容后,返回給模板類(lèi)。
模板類(lèi)接受到內容,生成編譯或緩存,然后進(jìn)行include操作。
整個(gè)思路大概就是這樣,里面的細節比如說(shuō)替換,'$this->value[$1]' 這是模板解析功能的另一個(gè)難點(diǎn),關(guān)鍵就在于,一個(gè)類(lèi)內引入進(jìn)來(lái)的東西可以使用類(lèi)內成員屬性,如果理解了這句話(huà),基本上模板解析就沒(méi)問(wèn)題了。
現實(shí)使用的模板解析引擎比我們自己寫(xiě)的要強大的多,但是不可避免的也有很多我們用不到的功能,所以最好的利用方法就是了解模板解析原理,能夠對smarty等模板引擎進(jìn)行修改,使其符合我們的要求,功能強大又不冗余。所以,了解模板引擎是非常重要的。
【反思總結:解析類(lèi)的寫(xiě)法】相關(guān)文章:
教學(xué)反思含義解析03-07
《億以?xún)鹊臄档膶?xiě)法》的教學(xué)反思(通用9篇)04-27
大學(xué)教案的寫(xiě)法10-05
關(guān)于調研報告的寫(xiě)法03-19
辛金天干類(lèi)象的總結07-15
《麋鹿》解析聽(tīng)后感03-19
暖流教學(xué)反思總結03-20
師德師風(fēng)反思總結03-20
報告類(lèi)公文格式模板11-17