中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

織夢、帝國及PHPCMS對比(5):標簽解析方式分析
來源:易賢網 閱讀:1054 次 日期:2014-09-04 16:53:57
溫馨提示:易賢網小編為您整理了“織夢、帝國及PHPCMS對比(5):標簽解析方式分析”,方便廣大網友查閱!

作為CMS,最需要做到地是把程序和數據展示分離出來,讓用戶不需要了解太多程序的程序即可很方便的使用來搭建合種個性化站點,而標簽的靈活性,很大程度上決定了CMS的好用與不好用,而標簽的好用不好用,除了處決于標簽本身在細節上做的細致程度(如詳細的幫助文檔、簡單的標簽生成方式等)決定外,整個標簽體系的設計思路更起到決定作用。

本文中落葉對PHPCMS、DEDECMS及帝國CMS的標簽的設計思路與解析方式作一些簡要的對比分析。

現在主流的PHP程序實現數據處理與數據展示的分離,都會使用第三方的或者自己開發的模板引擎,一般的模板引擎中除了支持特定格式的數據變量標簽展示外,還支持數組循環、邏輯判斷、函數處理、文件包含、PHP原生語法等。

一般的模板引擎的處理思路時各種以HTML文本的方式存儲(有的是.html的擴展名,有的是.tpl的擴展名),然后模板引擎會對模板中的標簽或代碼進行編譯預處理成PHP文件緩存到特定目錄,處理成的PHP文件里面不再是標簽格式,而是標簽被處理后可直接執行的對應的PHP語句塊。然后在PHP 控制文件中處理好數據后,使用模板調用函數調用編譯好的PHP文件形式的緩存模板(當然,過程中會有判斷,如果緩存不存在,則直接從原模板文件編譯一次生成緩存后調用),直接整合到PHP控制文件中一起執行。

如果是生成靜態,則是先處理好數據后,引用編譯好的模板文件,執行,輸入后緩存區,后面再寫入生成HTML文件。

早期的ASP類風格的CMS設計沒有系統化的模板引擎,而是采用單一替換的模式,即先讀入模板文件,然后替換模板文件中標簽,每一個標簽都是單獨處理替換。

PHPCMS和DEDECMS中模板的處理方式為通用的模板引擎處理方式,而帝國CMS的模板處理方式為早期的ASP類風格CMS的處理方式。

1. PHPCMS標簽的解析方式:

PHPCMS標簽形式主要有TAG標簽和GET標簽,靜態HTML模板在編譯過程中會經過模板引擎統一進行正則替換并轉化為對應的PHP函數塊。

如:{tag_標簽內容列表},經模板引擎編譯處理后:

<?php echo tag('phpcms', 'tag_content', "SELECT a.contentid,a.catid,a.typeid,a.areaid,a.title,a.style,a.thumb,a.keywords,a.description,a.userid,a.updatetime,a.inputtime,a.url FROM `phpcms_content` a, `phpcms_content_position` p WHERE a.contentid=p.contentid AND p.posid=1 AND a.status=99 ORDER BY a.contentid DESC", 0, 5, array ( 'class' => 'url', 'target' => '_blank', 'titlelen' => '35',));?>

在控制PHP文件中使用模板引用函數引用模板時,該標簽即自動調用global.func.php文件中的tag函數執行得到文章列表結果后輸出。

又如GET標簽:調用最新10條文章標題的GET標簽

{get sql=" SELECT `title` FROM `phpcms_content` ORDER BY contentid DESC " rows="10"}

<li>{str_cut($r[title],20,’’)}</li>

{/get}

經PHPCMS模板引擎編譯解析后的PHP代碼塊:

<?php $DATA = get("SELECT `title` FROM `phpcms_content` ORDER BY contentid DESC", 10, 0, "", "");foreach($DATA AS $n => $r) { $n++;?>

<li>

<?php echo str_cut($r['title'],20,'');?>

</li>

<?php } unset($DATA); ?>

2. DEDECMS標簽的解析方式:

DEDECMS標簽的解析方式和PHPCMS類,經過DEDE模板引擎類的dedetag.class.php的編譯處理,標簽被處理成PHP代碼塊后緩存到data目錄的tplcache目錄。

如:分頁頁碼列表標簽{dede:pagelist listsize=‘5’ listitem=‘’/}經DEDE模板引擎編譯解析后和模板HTML一起緩存到緩存目錄的對應的PHP代碼塊為:

<?php

$atts = array();

$atts['tagname'] = 'pagelist';

$atts['listsize'] = '6';

echo $this->refObj->GetPageList($atts,$this->refObj,$fields);

?>

因為DEDE CMS模板引擎也是目前通用的模板引擎編譯解析方式,所以整個流程和PHPCMS類似。

3. 帝國CMS標簽處理方式:

據落葉的觀察,帝國CMS是沒有模板引擎這個概念的,每一個標簽的處理都是單獨用函數來替換。前一段時間,一位朋友希望在內容頁有多分頁的文章前面加上分頁小標題導航。當時,為了實現這個小小的功能,落葉仔細研究了下落葉的模板標簽解析功能,實際發現,帝國CMS在生成靜態時,是先將需要展示的數據處理好,甚至整合HTML文件然后單個替換模板中的標簽,每個標簽都單獨寫一個或幾個函數來處理,然后替換后生成靜態。基本上帝國CMS中的標簽替換基本是白名單替換。結果是,即使自己想在內容頁增加一個簡單的自定義標簽,實現一些小的功能,都需要修改帝國的functions.php和 t_functions.php中的核心函數文件。

舉個帝國CMS處理標簽的簡單例子:

獲取面包屑導航的標簽的處理代碼如下:

$string=str_replace('[!--newsnav--]',$url,$string);

處理標題標簽的代碼如下:

$string=str_replace('[!--pagetitle--]',$title,$string);

一般如果按照模板引擎編譯解析的方式,會選將所有變量性質的標簽直接通過定界符判斷出是標簽,然后統一使用正則進行解析,而帝國的處理方式是一個個單獨處理,所以就出現像上面的那樣,$string為讀取出來的模板內容,然后一步一步逐一替換處理,典型的早期的動易、新云等ASP類CMS的標簽的處理方式。

不管帝國CMS這樣處理的執行效率高不高,至少二次開發的效率是很低的,每個頁面的標簽或者變量都要單獨去處理。如果是想在模板中增加一個自定義變量類的標簽,在PHPCMS中只需要在模板中{$自定義變量名}這樣即可,而帝國CMS中除了在模板中添加[!—自定義變量名--](如[!--pagedes--])外,不得不在生成靜態的處理函數中增加類似上面的標簽替換步驟,如:$string=str_replace('[!--pagedes--]',$pagedes,$string);

也許對于普通用戶而言,不論標簽的解析方式如何,只要把標簽做得細致,簡單好用,靈活, 就夠了,所以帝國CMS還是有比較多的忠實用戶的,很多人覺得很省心,不要考慮啥邏輯,按照說明,標簽放上去,就基本沒問題。而對于深度用戶,尤其是有編程基礎的用戶,喜歡DIY或者個性需求較多的,更習慣目前主流的模板引擎的編譯解析方式,不太喜歡封裝得很好的標簽,希望得到干凈的數據,可以直接在模板中進行邏輯處理,而標簽除了一部分是變量外,調用數據類標簽,實際是特定格式調用的系統函數。

至少落葉,偏向于喜歡PHPCMS和DEDECMS的標簽解析方式,而對帝國CMS的標簽處理方式比較糾結。

系列文章:

織夢、帝國及PHPCMS對比(1):自定義模型功能分析

織夢、帝國及PHPCMS對比(2):支持SQL調用的標簽

織夢、帝國及PHPCMS對比(3):自定義URL規則

織夢、帝國及PHPCMS對比(4):碎片功能分析

更多信息請查看IT技術專欄

更多信息請查看CMS教程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产午夜| 久久久久一区二区三区四区| 亚洲麻豆av| 久久精品123| 国产伦精品一区二区三区高清版| 亚洲一区二区三区乱码aⅴ| 欧美午夜一区二区福利视频| 亚洲女人小视频在线观看| 国产女人aaa级久久久级| 久久精品国内一区二区三区| 欧美一区二区在线免费观看| 国产在线视频欧美| 欧美日韩国产小视频在线观看| 久久免费黄色| 亚洲国产成人av| 欧美巨乳波霸| 性伦欧美刺激片在线观看| 黄色小说综合网站| 欧美激情在线免费观看| 性欧美暴力猛交69hd| 亚洲国产精品成人va在线观看| 欧美精品在线免费观看| 欧美一区二粉嫩精品国产一线天| 精品成人一区二区三区| 欧美日韩国产综合视频在线观看| 亚洲免费在线精品一区| 亚洲国产91色在线| 国产精品视频1区| 久久一区激情| 亚洲女爱视频在线| 亚洲日本视频| 国产欧美精品国产国产专区| 欧美极品aⅴ影院| 欧美影院午夜播放| 一区二区三区国产盗摄| 伊人久久大香线蕉综合热线| 欧美日韩国产一级片| 久久蜜桃资源一区二区老牛 | 欧美日韩成人在线播放| 久久成人一区| 亚洲一区二区三区免费视频| 亚洲国产欧美在线| 国产亚洲精品v| 欧美日韩视频一区二区| 蜜桃av噜噜一区| 欧美一区不卡| 亚洲视频网在线直播| 亚洲破处大片| 韩国精品主播一区二区在线观看| 欧美日韩一区二区三| 美脚丝袜一区二区三区在线观看 | 欧美午夜一区二区福利视频| 久久精品中文字幕一区| 亚洲精品免费看| 国产日韩av一区二区| 欧美精品在线极品| 久久久久久尹人网香蕉| 亚洲精品在线观| 欧美日韩精品在线| 久久永久免费| 一区二区三区精品国产| 在线播放中文一区| 国产一区二区三区四区在线观看| 欧美另类女人| 蜜臀久久99精品久久久画质超高清 | 欧美日韩妖精视频| 免费观看欧美在线视频的网站| 夜夜嗨av一区二区三区网站四季av| 国内久久精品| 国产欧美一区二区三区沐欲 | 久久久91精品国产| 一本色道**综合亚洲精品蜜桃冫| 激情六月婷婷综合| 国产精品porn| 欧美精品一区二区三区蜜臀 | 欧美a级在线| 久久―日本道色综合久久| 亚欧美中日韩视频| 夜夜嗨av色综合久久久综合网| 激情小说亚洲一区| 国内久久视频| 狠狠色综合色综合网络| 国产亚洲午夜高清国产拍精品| 国产精品天天看| 欧美日韩综合视频| 久久视频在线免费观看| 久久久久看片| 久久一综合视频| 久色婷婷小香蕉久久| 久久av一区二区三区| 亚洲综合第一| 性感少妇一区| 久久精品国产一区二区三区免费看| 亚洲永久字幕| 亚洲欧美美女| 国产精品高潮视频| 亚洲欧洲日产国码二区| 91久久精品日日躁夜夜躁国产| 久久久蜜臀国产一区二区| 欧美日韩国产在线| 亚洲国产一区在线观看| 亚洲一区二区三区在线观看视频| 国内激情久久| 国内免费精品永久在线视频| 国产一区欧美日韩| 国产一区视频在线看| 狠狠色综合播放一区二区| 伊人伊人伊人久久| 日韩视频免费在线观看| 亚洲在线中文字幕| 久久野战av| 欧美久久久久久| 欧美日韩成人综合天天影院| 欧美另类综合| 国产精品久久久久久久免费软件 | 国产农村妇女精品一区二区| 国内精品写真在线观看| 99re6这里只有精品| 99这里只有精品| 亚洲欧美一区二区三区在线| 久久国产免费| 欧美日韩综合视频| 狠狠88综合久久久久综合网| 亚洲精品欧美在线| 欧美一区二区三区在线视频| 美女日韩欧美| 免费看黄裸体一级大秀欧美| 一区二区激情视频| 午夜欧美大片免费观看| 久久国产精品久久精品国产| 美女91精品| 欧美日韩成人在线播放| 黄色亚洲精品| 亚洲一区尤物| 欧美电影在线| 国产一区观看| 亚洲一区二区三区在线播放| 蜜桃久久av| 国产美女精品一区二区三区| 亚洲第一网站| 久久九九热re6这里有精品| 欧美日韩一区二区三区在线| 欧美午夜激情视频| 91久久久亚洲精品| 久久久久国产精品www| 国产精品福利网站| 国产专区一区| 欧美在线一二三区| 国产欧美日韩三区| 亚洲欧美在线免费| 欧美另类变人与禽xxxxx| 国产欧美精品在线播放| 99热精品在线| 欧美国产1区2区| 在线观看欧美黄色| 国产欧美一区二区三区另类精品| 亚洲校园激情| 国产精品国产成人国产三级| 亚洲美女福利视频网站| 免费观看成人网| 欧美日韩在线第一页| 免费视频最近日韩| 1769国内精品视频在线播放| 亚洲综合视频一区| 国产精品久久久久一区二区| 国产精品成人av性教育| 一区二区三区偷拍| 欧美精品久久久久久| 亚洲美女一区| 欧美午夜久久| 亚洲黄色片网站| 久久久久9999亚洲精品| 国产精品久久久久影院亚瑟| 一区二区国产日产| 国产精品免费看片| 国产亚洲日本欧美韩国| 麻豆精品传媒视频| 亚洲免费av网站| 国产精品豆花视频| 欧美一区亚洲二区| 欧美日韩视频免费播放| 最新日韩欧美| 国产精品高潮呻吟久久av黑人| 午夜精品久久久久久久| 国产视频欧美| 欧美电影资源| 亚洲影院在线观看| 激情综合在线| 欧美 日韩 国产一区二区在线视频 | 亚洲美女在线一区| 欧美日韩亚洲视频| 欧美伊久线香蕉线新在线| 国产欧美精品一区二区色综合| 久久精品国产亚洲a| 亚洲日本黄色| 国产精品xxx在线观看www| 一区二区三区高清| 国产精品自拍网站| 老司机精品导航| 亚洲欧美日韩精品久久亚洲区|