1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      phpcms頁面的設(shè)計和布局實例分析

      今天小編給大家分享一下php cms頁面的設(shè)計和布局實例分析的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

      創(chuàng)新互聯(lián)建站是專業(yè)的金溪網(wǎng)站建設(shè)公司,金溪接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行金溪網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

      Field的意思是字段,我們在展示一條數(shù)據(jù)的時候總是要展示具體的某些字段,有時候是一條數(shù)據(jù),有時候是個循環(huán)。

      一條數(shù)據(jù)的時候很好處理,我們把數(shù)據(jù)準(zhǔn)備好,然后替換相關(guān)的[field]標(biāo)簽就行了。當(dāng)循環(huán)輸出的時候,其實只需要調(diào)用顯示一條數(shù)據(jù)的方法就行了。

      Field的標(biāo)簽格式大概是這樣:[field:PostTime length=10 dateFormat="yyyy-MM-dd HH:mm"/] 可以看出,F(xiàn)ield也有自己的一些屬性,就像一個Label一樣。

      我們在展示Field的時候有時不可能完全按照數(shù)據(jù)庫的字段名來展示,比如 發(fā)布時間PostTime字段,我們可能需要展示為“多久以前”,比如“剛剛”,“5分鐘前”等字樣,這時候就需要調(diào)用一個方法(Render)來處理。所以Field類需要一個展示的方法成員,并且有一個存儲初始值的Value字段。

      為了實現(xiàn)代碼的一致性,我們統(tǒng)一調(diào)用Render方法,但Render方法具體做什么,天知道。我們可以設(shè)計一個FieldBase,默認(rèn)返回初始值Value。

      類的大概設(shè)計是這樣子:

      public class FieldBase

      {

      public string Name {get;set;}

      public string Value {get;set;}

      public string Html {get;set;}//html用來存放Field的完整標(biāo)簽

      public virtual string Render()

      {

      return Value;

      }

      }

      那么,這么一來只要我們稍有不一致的Render都要實現(xiàn)一個具體的Field類嗎?那豈不是傳說中的類爆炸。而且,我們還要考慮如何去通過簡單的field標(biāo)簽實例化這些不同Render的子類,想想就頭大。顯然用繼承的方式來設(shè)計是有問題的。

      所以,我們得把Render改下:

      //…

      public event Func Render;

      public virtual string GetRender()

      {

      //if(SetValue!=null)

      //    SetValue(this,RowData)

      if(Render!=null)

      return Render(this,Value);//這句表明了一個順序問題:在調(diào)用GetRender之前,假如需要Field.Value的值的話必須先賦值,后面我們會提到。

      else

      return Value;

      }

      //public Object RowData {get;set;}

      public Func SetValue;

      //…

      是的,我們只是增加了一個事件,并且修改了下名字,這樣就想外部公布了一個自定義的方法,但內(nèi)部實現(xiàn)調(diào)用機(jī)制。而且GetRender仍然是可重寫的,比如一些非常特殊的Field標(biāo)簽,可能就需要重寫FieldBase。

      這個GetRender寫的非常簡單,實際使用情況是復(fù)雜的,你有沒有注意掉我們忽略掉了field的Parameters(那些length formate之類的),其實調(diào)用情況和Label的Parameter類似。

      以上就是“php cms頁面的設(shè)計和布局實例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


      標(biāo)題名稱:phpcms頁面的設(shè)計和布局實例分析
      文章路徑:http://ef60e0e.cn/article/gedjps.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        抚顺市| 高密市| 隆林| 兴业县| 托里县| 清镇市| 井陉县| 丰都县| 南汇区| 乐昌市| 屯留县| 鹤庆县| 扬中市| 沂源县| 九台市| 繁昌县| 钦州市| 绥芬河市| 延津县| 隆安县| 龙川县| 普兰店市| 卓资县| 山阳县| 临城县| 廊坊市| 广东省| 锡林浩特市| 东台市| 商南县| 灵璧县| 龙州县| 绥芬河市| 义乌市| 福鼎市| 建昌县| 湖州市| 宜都市| 浙江省| 永城市| 普洱|