首頁  >  文章  >  CMS教程  >  phpcms跟帝國cms區別是什麼

phpcms跟帝國cms區別是什麼

angryTom
angryTom原創
2019-07-18 13:31:444522瀏覽

phpcms跟帝國cms區別是什麼

首先我們為大家羅列一下,選擇cms是應該考慮到哪些面向

    1) 程式是否安全穩定,會不會常常有BUG

  2) 程式使用簡不簡單

#  3) 程式產生靜態速度是否夠快

#  4) 程式範本多不多,範本好不好做,標籤好不好用

  5) 程式負載能力強不強

  6) 程式模組多不多,如有沒有房產模組、有沒有黃頁模組、分類資訊模組、問答模組等

  7) 程式二次開發是否靈活

#擅長或喜歡二次開發的基本首先會考慮二次開發的靈活性,及模組方面有沒有適合自己的;而普通用戶則更多的考慮程序易不易於使用,模板標籤簡不簡單,所以CMS選擇的焦點基本集中的二次開發的靈活性

模板標籤的易用性

兩方面了。

 1.從二次開發的角度來講:

  PHPCMS(2008版)

更多算是一個開發框架,離一個成熟的產品太遠,先後使用PHPCMS二次開發搭建過五六個平台,從剛發布的PHPCMS2008版,及現在的PHPCMS2008 sp4版(pcv9不作評價,開發初期做過較多的測試、反饋過一些建議,但正式版我並沒用過),每一次我都會遇到同樣的問題,總是邊罵低階錯誤邊作修改,到現在官方停止開發了,很多剛發佈時的BUG都還存在。雖然如此,PHPCMS還是首選的CMS,為啥,就是他很靈活,想怎麼改就可以怎麼改,想到可以做到。在我看來PHPCMS代表了一種極端,就是如果首要考慮二次開發,那麼PHPCMS是不錯的選擇。

  PHPCMS中想實現任何資料的讀取只要寫一條SQL,然後面模板中GET標籤呼叫下就行了,如果覺得模板中處理的不夠,那麼只需要在對應同名的PHP檔案中作些處理就行了。甚至,只需要在頭部引用common.php文件,呼叫模板引用函數引用模板,然後建立一個同名的HTML文件作為模板,即可在PHPCMS的基礎上實現許多想要的功能。   帝國CMS

,雖然官方的宣傳語也是想到即可做到,但從我在對帝國CMS作一些簡單功能需求的修改及插件開發來看,帝國CMS離想到即可做到太遠,限制在帝國的開發思路之下,有些功能即使是很小的功能,也需要對帝國的核心程序大動幹戈。就拿一個簡單的需求“我想獲取內容頁分頁的頁碼,以根據不同的分頁來實現一些不同的顯示”,這個需求的後面不談,單就獲取內容頁分頁的頁碼來講,幾乎是不可能,為啥呢?第一,他沒有這個標籤,也沒有提供變量,論壇裡很多人提到這一需求,始終無法解決;第二,帝國的模板標籤解析方式是老的動易的思維即程序先處理好每一個標籤的結果,連HTML都帶上了,然後把儲存在資料庫中的模板讀出來,把裡面的標籤一個一個替換,基本上內容頁的每一個標籤都是經過了一個專門的處理過程來實現,耦合度太高,大部分程式碼都沒法通用。 (現在主流模板引擎都是先把標籤解析編譯好,然後緩存,標籤已經變成可執行的PHP程序,然後程序處理好數據後直接調用模板緩存,執行。標籤都是通過統一的方式來處理的,通用性較強。)而也正因為每個標籤都封裝的很好,做的很完整了,所以使用起來又非常簡單穩定,只要按提示放上去,就不會有問題,所以帝國在安全性、穩定性、易用性又非常好。

###  舉例來說吧,有一個用帝國CMS做精品故事網的朋友(http://www.pmume.com ),想實現如下圖所示內容頁分頁標題導航。 ######

  我看了下,帝國論壇也有非常多的朋友有這個需求,但基本上沒有看到有很好的解決。然後我看了下帝國的標籤的程式碼,他內建其實有一個內容頁分頁下拉導覽標籤。原本一般的程式的思維是實現資料和模板的分離,把資料處理好,其它的表現形式(是下拉列表,還是普通文字列表)這個交由模板來處理,而帝國中確全是由核心函數來處理的,在functions.php和t_functions.php中檔案中單獨寫函數來處理這個標籤,並且把HTML都封的很好了,呈現給大家。我為了實現內容頁分頁標題導航列表,仿照他的標籤的實現方式,修改這兩個核心文件才能實現。而事實上,其它CMS中,只要先PHP文件中分析出文章的分頁標題,記錄成數組變量,然後在模板中用循環標籤循環一下就OK了,想怎麼展現就怎麼展現。 (詳見:http://bbs.chinaz.com/CMS/thread-2020475-1-1.html)。

  帝國CMS和PHPCMS同樣都有自訂模型的功能,在字段自訂方面,帝國做的更人性化些,更適合新手朋友使用,而PHPCMS功能上是沒問題的,有些設計上合理性差些,如定義字段只能存在副表(PCV9有了改進)。帝國CMS中每個模型都是單獨的資料主表副表,不同模型間,資料ID無關聯,這樣的問題是不同的模型中有相同的ID的文章,涉及到全站資料操作的時候很糾結,非得一個一個判斷模型,小編今天在設計一個帝國CMS插件時,深深的體會到了這樣的設計的杯具。 PHPCMS所有模型共用一個主表,副表各自使用,也就是所有文章不管什麼模型的標題、摘要等資訊都存放在統一的表中,這樣全站進行資料呼叫都很方便,這樣的缺點也很明顯,自訂欄位只能放在副表中,如果自訂的欄位想作為資料呼叫的條件或搜尋條件,那就很杯具了,非得兩表聯合查詢,和把整篇文章的資料讀出來,基本上沒啥差別。

  簡言之,以這樣不太高的PHP水平,可以使用PHPCMS毫不費力的設計出各種模型,包括房產模型、問答模型、汽車模型等,只要了解模型的字段有哪些,流程怎樣,後台建下模型,然後把list.php和show.php複製一份,作些個性修改,然後上傳下HTML文件模板即可,要偽靜態就偽靜態,要生成靜態就生成靜態。而如果以帝國作二次開發,那麼也可以很方便在後台自訂模型建表,但是資料流程處理方面靈活性就缺很多了,在使用他的資料操作類,操作資料後,要熟悉他的模板處理方面,讀取模板,然後單純的寫函數來替換變數標籤,如果要產生靜態,他原來的內容頁靜態生成函數還沒法通用,需要自己單純來寫一個靜態生成類別。一句話,很痛苦!還不如自己全寫PHP了事。

2.程式穩定性範本標籤易用性角度講:

  PHPCMS中的標籤都是以程式設計師的思維來實現,首頁、列表頁的標籤TAG標籤和GET標籤實際上都是產生SQL語句,解析成函數執行;內容頁的標籤實現是變量,即PHP控製文件中把數據庫中的數據讀取出來,根據字段類型處理成乾乾淨淨的數據,放在變量中,然後PHP內容頁模板中直接使用這些變量,邏輯判斷也好,進一步函數處理也好,想怎麼處理就怎麼處理,更符合程式設計師的思考。但普通用戶用起來可能比較揪心,改個模板還要懂PHP邏輯思維和SQL語句,從PHPCMS部分模組的明顯的BUG殘留來看,其實可以判斷那些模組基本很少有人使用。 (當然PCV9應該作了很大改進,這裡不討論。)

  帝國CMS中的標籤才算是傳統意義上最正宗的標籤,他和動易(ASP類別的CMS)的標籤處理思維極像,這個標籤是代表什麼的,然後程式處理好後,直接整塊替換。使用起來非常方便,而且帝國在細節上做的也非常優秀,在模板的下方都仔仔細細標示出來所有可以使用的標籤,站長朋友們只需要按提示放上標籤就行了,省事,安心。

  缺點這樣標籤只算標籤,不是乾淨的數據,處理起來缺乏個性化,雖然帝國CMS模板也支持PHP,便是由於他的模板生成方式沒是先解析變數成PHP,再處理,而是一邊處理好標籤的數據,生成時替換,所以限制也很明顯。

  上面有提到朋友的精品故事網是使用帝國CMS做的,在文中提到實際是有意推薦,因為這個朋友在不懂任何程序的情況下,使用帝國CMS把網站做得非常優秀,這也正說明帝國在細節上做的非常優秀。

  上面廢話了一大堆,其實基本意思也就兩點:不需要過多二次開發的朋友,使用帝國CMS等會相對比較不錯,而對二次開發要求比較多,並且對PHP比較熟的朋友,完全可以把PHPCMS當作一個框架來使用,BUG不是問題,這樣改的才爽,最怕是的像帝國那樣寫的很死了沒法改。

  當然,文章中主要提取帝國CMS和PHPCMS,似乎把使用DEDECMS的同學給忽視了,實現來講,我遇到的站長朋友使用DEDECMS的還是居多數,這款CMS穩定性和標籤的易用性是介於帝國CMS和PHPCMS之間的,小編這裡只是把兩個極端作了下分析,希望能給朋友們有些提示。



#

以上是phpcms跟帝國cms區別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn