開源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模塊化明顯,功能獨立,便於大型程序的拓展,功能之間互不影響;
二、Dede中plus文件集合各種功能性插件,便於網站的簡單擴展,不便於大型功能;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
論壇:discuz、phpwind
商城:ecshop
團購:最土團購
微信:thinksns
在線調查數據負載能力:
Discuz>phpwind>wordpress>phpcms/帝國cms>dedecms
綜合數據來看,phpcms數據分析明顯比dedecms合理。但在市場之上的discuz的超高負荷又是拿什麼實現的呢?
一、爲每個可能查詢的條件添加索引;
二、頁面不要出現select *,再多的字段也要一一列出來;
三、儘可能不要使用字段null;
四、數據表字段越短越快,選擇合適字符串的類型;
從網上調查來看,站長在選擇一款CMS時,大概通常會考慮以下方面:
1) 程序是否安全穩定,會不會常常有BUG
2) 程序使用簡不簡單
3) 程序生成靜態速度是否夠快
4) 程序模板多很少,模板好很差作,標籤好很差用
5) 程序負載能力強不強
6) 程序模塊多很少,若有沒有房產模塊、有沒有黃頁模塊、分類信息模塊、問答模塊等
7) 程序二次開發是否靈活
因此,初始化的項目,就要抓住精簡來入手。因此,初步以爲精簡的cms須要具有的條件:
一、架構穩定,功能簡單,但程序流程必須清晰明瞭;
二、應對每個數據庫操做,傳值都作嚴密檢測,保證程序安全性;
三、結合json、jquery提高程序用戶體驗;
四、作好真靜態,url路由等利於優化的功能;
五、文件、數據庫命名參考phpcms,利於融合市場;
六、數據庫優化方面避免基礎錯誤的發生;
七、嚴整代碼,類庫作到自動加載,冗餘代碼必定刪除;
建議版本分類:
初版:連通網站先後臺,能夠作到後臺登錄管理,前臺顯示,作好標籤解析;
a、作好網站的內容管理,後臺實現增刪改查功能;
b、作好網站的模板標籤解析;
c、作標籤解析,必定要作真靜態;作真靜態,內容較多時怎麼處理?(如:新聞、產品):考慮作文件生存時間;
第二版:作好網站欄目管理、後臺管理員權限管理;
a、使用thinkphp內置的RBAC權限管理,理解其原理;
b、模型管理與功能實現;
第三版:網站緩存技術拓展,網站路由技術、真靜態技術的加入;
a、文件緩存、Xcache、Memcache/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/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文件,而且在此基礎上實現了master-slave(主從)同步。