使用者管理系統,PHP項目開發銀彈?

來源:互聯網
上載者:User
銀彈 ,是針對狼人等超自然怪物的特效武器。後來也被比喻為具有極端有效性的解決方案,作為殺手鐧、最強殺招、王牌等的代稱。

作為一個在php開發崗位上小有幾年經驗的開發人員,我的日常工作是從事基於TP架構的php項目開發。一直以來,我都執著於獨立自主開發,包括最基本的使用者管理和後台管理系統。最困擾我的東西就是許可權管理、使用者的登陸註冊等等。每個項目的需求不一樣,所以我採用的方式就是修修改改,維護自己的使用者管理系統。然後應用到各種項目中。

直到有一天,我在OSC上看到一個新的開源項目——Open Center php使用者管理系統。讓我突然產生一種相見恨晚的感覺。

我為什麼會有這種感覺呢?

首先,OC是遵循Apache2.0開源協議的,也就是和TP一樣的協議。打消了我在著作權方面的疑慮。

再者,它作為一款使用者管理系統,提供了較為完善的使用者註冊流程,包括多種註冊方式,如手機號註冊、郵箱註冊、使用者名稱註冊,同時還支援真實性驗證,可見Team Dev的誠意。

另外,它對使用者權限管理方面所做的努力,也可見一斑,Team Dev稱繼承自OneThink,我也曾經在項目中使用OneThink,發現OC還是有很大不同之處的,它還加入了前台許可權的管理。

為了給廣大tper一個參考,我特別拿OneThink和OC進行了一個比較。

1.開源協議

兩者都是基於Apache2.0的,沒什麼好比較的。

2.系統架構

兩者都是基於ThinkPHP的。不過OC基於OneThink,這一點讓我很疑惑。因為從表面上,很難看出來兩個系統的是同一個核心。不過研究之後,還是發現一些共同之處。OC有很濃重的OneThink基因。

前端方面,OC採用zui,算是一個比較大膽的嘗試(據我所知,zui就是bootstrap的一個改進版本,學習成本比較低),OneThink比較傳統,採用了bootstrap。

3.系統重點

OneThink著重於內容管理,從背景結構也可以看出來。導覽列中可以很醒目地看到內容管理的部分,內容管理部分的功能也已經初具雛形。

OC著重於使用者管理,所以後台導航完全沒有內容管理的部分,比較有特色的是,導航部分把“模組”概念突出了,左側欄位專門放置模組,同時也支援模組的安裝卸載,這一點應該說是比較大的改進吧。

OC還有一個比較突出的特性,就是支援用Php構建後台管理頁面,這對像我這樣的,沒有太多前端經驗的後端開發人員來說,是最大的吸引力。通過AdminBuilder類庫,可以純php來構建管理頁面。還有更牛的開發人員自己改進了一套用於前台的AdminBuilder。

圖一、OC後台局部

4.前台功能

這方面,兩者均只提供了一個基礎的demo,OneThink提供了一個部落格形式的demo。而OC更加徹底,只提供了一個示範模組和一個示範首頁。不過OC的預設風格更加小清新,可能和採用zui架構作為前端有一定關係吧。

OneThink註冊登入方面,並沒有提供完整的流程。在這方面,OC做得可圈可點。多種形式的註冊登入、第三方登陸、同時還支援頭像的裁剪、擴充欄位,密碼修改等功能。值得一提的是,OC還提供了一種訊息機制,研究之後,發現是基於輪詢技術實現的,這裡,我覺得還有可改進的空間。不過基本都能滿足我的需求。

圖二、資料修改介面

圖三、訊息提醒菜單

5.擴充

說到擴充,我覺得OneThink還是做得比較贊的,OneThink有比較多的開發人員貢獻外掛程式,算是一個比較大的競爭優勢。而OC,因為剛出來,沒有這方面的支援,不過我試著把OneThink的外掛程式移植到OC上,發現還是比較好相容的,畢竟父子關係擺在那裡。

不過OC的官方也是比較努力的,提供了一些內建外掛程式,比片浮水印,空間換膚等。值得一提的是,Team Dev改進了一些OneThink的第三方外掛程式之後仍然保留作者,比起某些所謂的“具有分享精神”的人高尚一點。

6.文檔

文檔這塊,我個人感覺OC還不具備和OneThink比較的能力。首先,OC的文檔不夠齊全,這一點也算是OC的痛處吧。雖然Team Dev提供了一個離線文檔,但還是很不詳細。比起OneThink還差很多。不過群裡面每天都有更新進度,也算是不錯的了。

7.開發人員

其實這一項進行比較,對OC挺不公平的,畢竟一個年前才推出第一個版本,而OneThink已經發布有個把年頭了。不過個人覺得,OC作為一款使用者管理系統,還是大有可為的,畢竟不是每個開發人員都喜歡自己去開發維護一套使用者管理系統的,有一個現成可以用的項目會方便很多。

8.總結

通過對兩個開源項目的比較,不知道大家是不是瞭然了。從我個人的角度來說,不管黑貓白貓,能抓住老鼠就是好貓,看需求!

我個人的選擇建議:

1.如果你是做CMS類的項目,那麼首選OneThink,這個毫無疑問,畢竟OC,還沒有這方面的模組擴充,而從OneThink中再整合這個部分,可謂難度不小。

2.如果你是做一些需要使用者系統,並且使用者互動比較多的新項目,那麼選OC吧,OC的存在,無疑會讓你如虎添翼,節省下大量的開發時間。

期待

通過兩個開源項目的比較,很顯然,OC目前尚達不到銀彈的程度, 但最近我發現 OC在開源中國OSC@Git PHP類目排名是第一名, 無疑也是給了開發人員一個不錯的選擇。

留在本文最後,容我發表一下自己對OC未來發展的期望。模組化的系統構建理念不錯,如果OC的Team Dev能夠重視開發人員,給開發人員提供更多的支援,相信會有越來越多的php開發人員採用OC,同時也希望用過OC的開發人員能夠積極分享功能擴充,這樣OC才能夠越走越遠。

相關資料:

OneThink:項目首頁 www.onethink.cn

項目源碼庫: http://git.oschina.net/liu21st/onethink

OpenCenter:項目首頁 www.ocenter.cn

線上示範 demo.ocenter.cn

項目源碼庫: http://git.oschina.net/yhtt2020/OpenCenter

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.