在上一篇文章中 ,我說(shuō)到:
強(qiáng)硬的把CSS和HTML塞到PHP里面可以防止代碼太枯燥(DRY)并最終導(dǎo)致代碼臃腫,因?yàn)榈腃SS和HTML需要比PHP更細(xì)致的對(duì)象結(jié)構(gòu)。事實(shí)上,PHP的模板不是天生合適的,因?yàn)槊總€(gè)模板包含了許多不同的HTML,以及以不同的方式相結(jié)合的CSS對(duì)象。
然后,我并沒(méi)有解釋它,或者給出適當(dāng)?shù)恼Z(yǔ)境。抱歉!
在PHP層,下面的會(huì)話流(來(lái)自Facebook)或許是一個(gè)單個(gè)對(duì)象。所有的檢測(cè)哪些HTML要顯示或者隱藏的邏輯都包含在一個(gè)對(duì)象結(jié)構(gòu)中。
通常,開(kāi)發(fā)人員嘗試使這個(gè)CSS的匹配中端(介于前端和后端?)邏輯。我們期望用于這個(gè)會(huì)話流的所有的CSS代碼都包含在一個(gè)由ID包裹的沙盒內(nèi),比如#story。這將終結(jié)臃腫而枯燥的代碼。為什么呢?因?yàn)镃SS層的適當(dāng)?shù)慕Y(jié)構(gòu)更加細(xì)化(粒度更小)。其實(shí),試圖在PHP層中給予CSS結(jié)構(gòu)就像是試圖使用數(shù)據(jù)庫(kù)架構(gòu)來(lái)配置Apache一樣。這是行不通的。
因此,我們可以看到,上面的會(huì)話流是由許多更小的對(duì)象組成的。當(dāng)我們讓對(duì)象更細(xì)化(顆粒更?。?,我們就會(huì)開(kāi)始看到同樣的模式反復(fù)出現(xiàn),然后同樣的對(duì)象變得更可重用。我們開(kāi)始看到在互聯(lián)網(wǎng)上的大多數(shù)網(wǎng)站都是由相同的基本重復(fù)的模式以不同的方式結(jié)合起來(lái)的。作為一個(gè)附帶好處,CSS會(huì)變得體積更小,更簡(jiǎn)單。
這個(gè)會(huì)話流,一個(gè)PHP對(duì)象,是由幾個(gè)HTML和CSS的對(duì)象組成的:
使CSS對(duì)象的粒度合適意味著我們的CSS(嗯,推而廣之,我們的HTML)變得更簡(jiǎn)單、更輕。我們的小小的可重用的對(duì)象可以在整個(gè)網(wǎng)站上用來(lái)創(chuàng)建新的和不同的頁(yè)面,而不用再增加css的大小。
作為一個(gè)起點(diǎn),我建議您創(chuàng)建下列對(duì)象:標(biāo)題、列表、文字處理和鏈接、容器、媒體、網(wǎng)格和模板
聯(lián)系客服