發(fā)布時(shí)間:2020-05-27
欄目:帝國(guó)新聞
寫(xiě)在前面:本文為落葉原創(chuàng)帝國(guó)CMS、PHPCMS及DEDECMS對(duì)比系列文章之自定義模型功能對(duì)比分析,其它不同切入點(diǎn)的CMS對(duì)比分析文章將陸續(xù)發(fā)布。
早期的文章管理系統(tǒng),數(shù)據(jù)表字段模型都會(huì)內(nèi)置好,按自己的思路,把文章模型、信息模型、圖片模型都內(nèi)置,然后用戶根據(jù)需要,在設(shè)置欄目時(shí)選擇不同的模型,實(shí)現(xiàn)不同的需求。然而這種內(nèi)置模型字段的方式,不能很好的滿足站長(zhǎng)的各種個(gè)性化需求,所以各種CMS都推出了自定義模型和自定義字段的功能。
對(duì)于PHP程序員來(lái)講,自定義模型實(shí)際是在數(shù)據(jù)庫(kù)中建立一個(gè)新的數(shù)據(jù)表,然后添加不同的字段來(lái)記錄不同的數(shù)據(jù),自定義字段功能,即在原有數(shù)據(jù)表中添加新的字段,或者在附加表中添加新的字段,然后根據(jù)數(shù)據(jù)模型進(jìn)行數(shù)據(jù)寫(xiě)入、數(shù)據(jù)查詢讀取、數(shù)據(jù)在模板中的展示操作。而CMS的模型自定義功能,則是把這一系列操作內(nèi)置,流程化,自動(dòng)化,建立模型,選擇不同的字段類(lèi)型建立字段,根據(jù)不同字段類(lèi)型,自動(dòng)生成后臺(tái)數(shù)據(jù)錄入界面和前臺(tái)數(shù)據(jù)展示頁(yè)面。站長(zhǎng)不需要編程知識(shí)即可很方便的根據(jù)自己的需求,設(shè)計(jì)不同的數(shù)據(jù)模型,更加方便站長(zhǎng)個(gè)性化建站。同時(shí),懂PHP編程的站長(zhǎng),除了能夠很方便的建立各種模型外,省去了數(shù)據(jù)錄入和數(shù)據(jù)查詢展示的重復(fù)操作環(huán)節(jié),專(zhuān)注于個(gè)性功能的開(kāi)發(fā),能夠更快更好的制作各種各樣的功能模塊。
前面部分說(shuō)到了自定義模型的優(yōu)勢(shì),那本文下部分主要從自定義模型流程對(duì)比、自定義字段字段類(lèi)型對(duì)比、自定義字段選項(xiàng)對(duì)比(主表副表、前臺(tái)投稿、設(shè)置權(quán)限等)三個(gè)方面。
詳細(xì)對(duì)比分析下帝國(guó)CMS、PHPCMS、DEDECMS,這三款CMS的優(yōu)缺點(diǎn)。
1. 自定義模型流程對(duì)比
在CMS中自定義模型,我們一般最期望實(shí)現(xiàn)的兩點(diǎn)是1)在數(shù)據(jù)庫(kù)中建一個(gè)表,并且可自由設(shè)置表中有什么字段;2)建好字段后,后臺(tái)數(shù)據(jù)添加表單能自動(dòng)生成,前臺(tái)數(shù)據(jù)展示直接能通過(guò)標(biāo)簽調(diào)用,而不需要自己寫(xiě)讀取數(shù)據(jù)的PHP代碼。
那么這三款CMS中是怎樣滿足我們的這兩點(diǎn)期望的呢?
按照帝國(guó)CMS的官方提示,帝國(guó)CMS自定義模型一般步驟為1)系統(tǒng)分析、2)建立數(shù)據(jù)表、3)建立字段、4)建立系統(tǒng)模型。
帝國(guó)cms批量更新文章帝國(guó)自定義模型的創(chuàng)建步驟實(shí)際為先建立一個(gè)數(shù)據(jù)表,然后建立字段,每一個(gè)字段類(lèi)據(jù)類(lèi)型等作詳細(xì)設(shè)置后,再整體控制各個(gè)字段的用途及前臺(tái)后臺(tái)數(shù)據(jù)錄入界面的格式即建立系模型。建立系統(tǒng)模型的過(guò)程實(shí)際是對(duì)數(shù)據(jù)字段在模型中所扮演的角色和權(quán)限的分配過(guò)程,如是否作為錄入項(xiàng)、是否作為投稿項(xiàng)、是否可增加、是否可修改、是否作為結(jié)合項(xiàng)等。
\
按帝國(guó)的思維,建表和建字段只是完成了建數(shù)據(jù)庫(kù)的操作,而系統(tǒng)模型建立的過(guò)程則為規(guī)劃數(shù)據(jù)庫(kù)如何使用的過(guò)程。
PHPCMS中添加自定義模型只有兩步,先建立模型,然后添加字段。在添加模型的過(guò)程中不僅完成了一般意義上的建數(shù)據(jù)表的工作,同時(shí),也完成對(duì)模型的一些初始化設(shè)置,如模型中的數(shù)據(jù)是否生成靜態(tài),欄目頁(yè)、列表頁(yè)、內(nèi)容頁(yè)的模板及URL規(guī)則等。
添加完模型后,會(huì)自動(dòng)生成一部分字段,可對(duì)這些字段作修改或刪除處理,同時(shí)可以自由增加字段。
PHPCMS中自定義模型建立字段時(shí)除了選擇封裝好的字段類(lèi)型外,也整合了對(duì)字段屬性的設(shè)置,如是否在前臺(tái)投稿中顯示、是否作為標(biāo)簽?zāi)J(rèn)讀取字段、是否作為標(biāo)簽調(diào)用排序字段等。
\
DEDECMS中自定義模型建立亦分為兩步完成,建數(shù)據(jù)表作初始化設(shè)置然后添加字段。添加模型時(shí)可選擇模型是自動(dòng)模型、系統(tǒng)模型還是獨(dú)立模型。獨(dú)立模型可突破原來(lái)的主表+副表的模式,方便小數(shù)據(jù)量的靈活處理。
\
從三款CMS的自定義模型流程對(duì)比來(lái)看,帝國(guó)CMS的屬性設(shè)置相對(duì)更為細(xì)致但似乎簡(jiǎn)潔性不夠,很多描述過(guò)于專(zhuān)業(yè)或者不夠明確,站長(zhǎng)朋友們需要看較多幫助文檔才能了解到每項(xiàng)的意思,而PHPCMS和DEDECMS中則相對(duì)簡(jiǎn)潔,一目了然知道每一項(xiàng)的涵義;PHPCMS和DEDECMS在建立模型表的同時(shí)完成了對(duì)模型的初始化設(shè)置,整個(gè)設(shè)置是針對(duì)整個(gè)模型的,與具體字段無(wú)關(guān),屬全局性設(shè)置,而帝國(guó)CMS中模型的設(shè)置則是整合了對(duì)字段的整體操作,在建好字段之后,細(xì)化到對(duì)字段的細(xì)節(jié)控制,屬“微觀調(diào)控”。
帝國(guó)CMS中能夠單獨(dú)設(shè)置字段的前臺(tái)后臺(tái)展示模板,相對(duì)更為靈活些; PHPCMS中則由于字段類(lèi)型是以組件形式封裝的,前臺(tái)后臺(tái)數(shù)據(jù)錄入界面自動(dòng)生成,簡(jiǎn)便,但在某些時(shí)候需要自定義部分字段的表單HTML時(shí)只有在模板中使用邏輯判斷才能實(shí)現(xiàn),靈活性稍缺乏。DEDECMS模型設(shè)置和PHPCMS類(lèi)似,DEDECMS這塊的優(yōu)勢(shì)在于可以選擇數(shù)據(jù)模型是主表+副表的模式還是獨(dú)立表模式,并且可以自由設(shè)定前臺(tái)后臺(tái)的數(shù)據(jù)處理PHP文件,方便二次開(kāi)發(fā)。
按我的經(jīng)驗(yàn)來(lái)看,帝國(guó)CMS這塊的設(shè)置雖然很細(xì)致,但實(shí)際把問(wèn)題復(fù)雜化了,據(jù)觀察,帝國(guó)CMS的用戶自定義模型的深度用戶并不多。實(shí)際按照 PHPCMS和DEDECMS的思路,建模型數(shù)據(jù)表的同時(shí),對(duì)模型作一部分全局設(shè)置,然后單個(gè)字段中根據(jù)不同字段類(lèi)型及不同需求作細(xì)節(jié)設(shè)置帝國(guó)cms批量助手,這樣的流程更直觀更方便。
另外,PHPCMS中自定義模型后可直接預(yù)覽模型的數(shù)據(jù)錄入界面,方便查看字段設(shè)置的效果,這點(diǎn)非常方便。
所以帝國(guó)cms批量上傳助手,從自定義模型細(xì)節(jié)易用性對(duì)比來(lái)看:DEDECMS>PHPCMS>帝國(guó)CMS。
2.字段類(lèi)型對(duì)比:
CMS中自定義字段有一個(gè)很好的優(yōu)點(diǎn)就是都封裝好了一些常見(jiàn)的字段類(lèi)型,建立字段的同時(shí),直接設(shè)置好了字段對(duì)應(yīng)的表現(xiàn)形式,選擇不同的字段類(lèi)型,在會(huì)員中心投稿表單界面、后臺(tái)數(shù)據(jù)錄入界面及前臺(tái)數(shù)據(jù)展示界面中都會(huì)有所不同,并且是自動(dòng)呈現(xiàn)。舉個(gè)例子,如果是PHP程序員需要實(shí)現(xiàn)對(duì)文章內(nèi)容的存儲(chǔ),除了需要在數(shù)據(jù)庫(kù)中添加一個(gè)字段外,還需要在數(shù)據(jù)錄入表單中添加一個(gè)textarea,同時(shí)還要引用一些編輯器如fckeditor等。過(guò)程比較費(fèi)事,并且存在許多重復(fù)性勞動(dòng)。而如果在PHPCMS或者帝國(guó)CMS中實(shí)現(xiàn)這一需求,則只需要在建立字段時(shí)選擇“編輯器”字段類(lèi)型,在DEDECMS中也類(lèi)似只需要選擇“HTML文本”類(lèi)型的字段即可。因?yàn)镃MS的字段類(lèi)型都將各種不同的字段進(jìn)行了封裝,添加字段時(shí)直接選擇,然后自動(dòng)生成的數(shù)據(jù)錄入界面中和前臺(tái)數(shù)據(jù)展示界面中,程序都會(huì)根據(jù)字段類(lèi)型作一些處理,然后自動(dòng)輸出。(PHPCMS中生成表單界面時(shí)會(huì)調(diào)用input_form相關(guān)的類(lèi)根據(jù)字段類(lèi)型進(jìn)行處理,在輸出數(shù)據(jù)前,會(huì)調(diào)用output_form相關(guān)的類(lèi)根據(jù)不同字段類(lèi)型對(duì)數(shù)據(jù)進(jìn)行處理)。
文章地址:http://www.meyanliao.com/article/diguo/dgPHPCMSjzmdbyzdymxgnfx.html

- 1選用Phpcms v9建站 優(yōu)化之后流量飛起來(lái)
- 2如何選擇CMS 1所見(jiàn)即所得的編譯器
- 3DEDECMS轉(zhuǎn)向帝國(guó)CMS之異同
- 4PHPCMS中$description格式化的方法
- 5帝國(guó)CMS結(jié)合項(xiàng)列表屬性篩選實(shí)例教程
- 6疑是帝國(guó)CMS(EmpireCMS v 6.0)最新BUG
- 7專(zhuān)訪帝國(guó)軟件的創(chuàng)造者:仍然在路上的80后
- 8帝國(guó)5.0和discuz6.1整合教程
- 9帝國(guó)網(wǎng)站管理系統(tǒng)CMS 7.0正式版發(fā)布
- 10專(zhuān)訪ECMS作者王猛 成功的人應(yīng)該耐得住寂寞