CMS項目需求分析

 

開源Cms系統魚目混雜,市場上各種的cms系統都以不一樣的方式存在着,固然,他們都有着本身的價值。但大的趨勢,分爲dedecms一類的小型引擎門戶站開發,和phpcms一類大型綜合站開發兩類;今天,就這兩個系統,進行分析一下:php

 

文件目錄篇:html

DEDEcmsnode

PHPcmsjquery

備註redis

Imagesthinkphp

statics數據庫

 

靜態文件json

Uploads緩存

uploadfile安全

 

上傳文件

a

html

靜態頁面存放目錄

 

 

 

data

phpcms

系統功能

dede

include

plus

special

templates

member

會員模塊

Data/cache

caches

緩存

                            

優點對比:

一、dede控制器獨立,應對輕量級程序,反應迅速;phpcms模塊化明顯,功能獨立,便於大型程序的拓展,功能之間互不影響;

二、Dedeplus文件集合各種功能性插件,便於網站的簡單擴展,不便於大型功能;phpcms集合模塊開發,小型插件拓展也是一個模塊;

三、phpcms後臺功能簡潔,dedecms比較繁瑣;

四、Phpcms的數據控制能力比dedecms強一些。 從時間上來講,用dedecms生成100個html文件的時間,phpcms能夠生成2000個。dedecms的搜索性能極差,搜索侷限性大。而 phpcms能夠作到自定義字段都是搜素條件,並且速度快,後臺的數據控制靈活性Phpcms比dedecms強不少,咱們在Phpcms後臺能夠有不少 方式在查找數據,自定義一頁顯示數據的行數。 dedecms不可能作到。

五、Seo方面:網站的seo優化沒有dedecms設計的好,dedecms能夠很簡單的在後臺控制url的生成方式,而且重命名,而Phpcms貌似很複雜(Phpcms自定義URL規則技巧),最重要的是官方不給一點詳細的說明。

六、Dedecms調用標籤多數與數據庫字段不一致(如:litpic/picname、info/infos/description),phpcms就作的很好;

 

總得來講:

dedecms屬於橫向發展,適用於功能多樣但易於實現的項目;

Phpcms屬於縱向研發類,提供了我沒一個強大的框架,適用各種大型項目開發拓展;

 

 

數據庫篇:

 

v9_admin 管理員表

v9_admin_panel 快捷面板

v9_admin_role 角色表

v9_admin_role_priv 管理員權限表

v9_block 碎片表

v9_block_history 碎片歷史記錄表

v9_block_priv 碎片權限表

v9_collection_content 採集內容表

v9_collection_history 採集歷史

v9_collection_node 採集節點配置

v9_collection_program 採集導入規則表

v9_comment

v9_comment_check

v9_comment_data_1

v9_comment_setting

v9_comment_table

v9_content_check 內容審覈表

 

Dede:

 dede_addonarticle

 dede_addonimages

 dede_addoninfos

 dede_addonshop

 dede_addonsoft

 dede_addonspec

 dede_admin

 dede_admintype

 dede_advancedsearch

 dede_arccache

 dede_archives

 dede_arcmulti

 dede_arcrank

 


當下流行php開源程序:

CMS

Phpcms     :框架清晰明瞭,易於二次開發,要求php程序技術較高;

帝國cms   :功能安全性齊全,穩定性高,功能定製需打動干戈;

dedecms    :精小的臭皮匠,無安全性、無穩定性,但功能易於定製,適合企業站開發;

博客:wordpress

論壇:discuzphpwind

商城:ecshop

團購:最土團購

微信:thinksns

 

在線調查數據負載能力:

Discuz>phpwind>wordpress>phpcms/帝國cms>dedecms

 

綜合數據來看,phpcms數據分析明顯比dedecms合理。但在市場之上的discuz的超高負荷又是拿什麼實現的呢?

一、爲每個可能查詢的條件添加索引;

二、頁面不要出現select *,再多的字段也要一一列出來;

三、儘可能不要使用字段null

四、數據表字段越短越快,選擇合適字符串的類型;

 

 

 

從網上調查來看,站長在選擇一款CMS時,大概通常會考慮以下方面:

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

2) 程序使用簡不簡單

3) 程序生成靜態速度是否夠快

4) 程序模板多很少,模板好很差作,標籤好很差用

5) 程序負載能力強不強

6) 程序模塊多很少,若有沒有房產模塊、有沒有黃頁模塊、分類信息模塊、問答模塊等

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


因此,初始化的項目,就要抓住精簡來入手。因此,初步以爲精簡的cms須要具有的條件:

一、架構穩定,功能簡單,但程序流程必須清晰明瞭;

二、應對每個數據庫操做,傳值都作嚴密檢測,保證程序安全性;

三、結合jsonjquery提高程序用戶體驗;

四、作好真靜態,url路由等利於優化的功能;

五、文件、數據庫命名參考phpcms,利於融合市場;

六、數據庫優化方面避免基礎錯誤的發生;

七、嚴整代碼,類庫作到自動加載,冗餘代碼必定刪除;

 

 

建議版本分類:

  初版:連通網站先後臺,能夠作到後臺登錄管理,前臺顯示,作好標籤解析;

          a、作好網站的內容管理,後臺實現增刪改查功能;

          b、作好網站的模板標籤解析;

          c、作標籤解析,必定要作真靜態;作真靜態,內容較多時怎麼處理?(如:新聞、產品):考慮作文件生存時間;

  第二版:作好網站欄目管理、後臺管理員權限管理;

          a、使用thinkphp內置的RBAC權限管理,理解其原理;

          b、模型管理與功能實現;

  第三版:網站緩存技術拓展,網站路由技術、真靜態技術的加入;

          a、文件緩存、XcacheMemcache/redis;

      b、路由技術搭配緩存技術能夠隱藏網站路徑,提升網站用戶體驗性和易開發性;

Ep?m=admin&c=index&pc_hash=77TG17  ==>  /admin

          c、真靜態不只能夠提高搜索引擎的友好度,還能夠提示用戶訪問速度;致命缺陷是遇到大數據,便失去了價值;

  第四版:網站插件管理添加,會員模塊添加;

  a、會員模塊很常見,仍是要考慮到裏面的;

  b、輕量級框架必須具有的就是可擴展性,因此插件功能不可少;

  第五版:網站模板管理

          a、多模板、多主體選擇;

 

 

1:

redis是一個key-value存儲系統。和Memcached相似,它支持存儲的value類型相對更多,包括string(字符串)list(鏈表)set(集合)zset(sorted set --有序集合)hashs(哈希類型)。這些數據類型都支持push/popadd/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。

相關文章
相關標籤/搜索