CMS項目需求分析


 

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

 

文件目錄篇:

DEDEcms

PHPcms

備注

Images

statics

 

靜態文件

Uploads

uploadfile

 

上傳文件

a

html

靜態頁面存放目錄

 

 

 

data

phpcms

系統功能

dede

include

plus

special

templates

member

會員模塊

Data/cache

caches

緩存

                            

優勢對比:

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

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

3、phpcms后台功能簡潔,dedecms比較繁瑣;

4、Phpcms的數據控制能力比dedecms強一些。 從時間上來說,用dedecms生成100個html文件的時間,phpcms可以生成2000個。dedecms的搜索性能極差,搜索局限性大。而 phpcms可以做到自定義字段都是搜素條件,而且速度快,后台的數據控制靈活性Phpcms比dedecms強很多,我們在Phpcms后台可以有很多 方式在查找數據,自定義一頁顯示數據的行數。 dedecms不可能做到。

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

6、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的超高負荷又是拿什么實現的呢?

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

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

3、盡量不要使用字段null

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

 

 

 

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

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

2) 程序使用簡不簡單

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

4) 程序模板多不多,模板好不好做,標簽好不好用

5) 程序負載能力強不強

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

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


所以,初始化的項目,就要抓住精簡來入手。所以,初步覺得精簡的cms需要具備的條件:

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

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

3、結合jsonjquery提升程序用戶體驗;

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

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

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

7、嚴整代碼,類庫做到自動加載,冗余代碼一定刪除;

 

 

建議版本分類:

  第一版:連通網站前后台,可以做到后台登陸管理,前台顯示,做好標簽解析;

          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(主從)同步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM