18910140161

用户管理系统 PHP项目开发银弹?

互联网

2022-03-21 17:14:48

122

银弹是狼人等超自然怪物的特殊武器。后来,它还被比作一种非常有效的解决方案,可以替代杀手锏、最强的杀戮招式、王牌等。

作为一个在php开发岗位上小有几年经验的开发者,我的日常工作是从事基于TP框架的php项目开发。一直以来,我都执着于独立自主开发,包括最基本的用户管理和后台管理系统。最困扰我的东西就是权限管理、用户的登陆注册等等。每个项目的需求不一样,所以我采用的方式就是修修改改,维护自己的用户管理系统。然后应用到各种项目中。

直到有一天,我在OSC上看到一个新的开源项目——OpenCenterphp用户管理系统。让我突然产生一种相见恨晚的感觉。

我为什么会有这种感觉呢?

首先,OC是遵循Apache2.0开源协议的,也就是和TP一样的协议。打消了我在版权方面的疑虑。

再者,它作为一款用户管理系统,提供了较为完善的用户注册流程,包括多种注册方式,如手机号注册、邮箱注册、用户名注册,同时还支持真实性验证,可见开发团队的诚意。

此外,它在用户权限管理方面的努力也可见一斑。开发团队表示,它继承了onethink。我在项目中也使用了一个想法。我发现OC仍然非常不同。它还加入了前台权限的管理。

为了给广大tper一个参考,我特别拿OneThink和OC进行了一个比较。

1.开源协议

两者都基于Apache20,没有什么可比较的。

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的官员也很努力,提供了一些内置插件,如图像水印、空间皮肤变化等。值得一提的是,开发团队在改进了onethink的一些第三方插件后,仍然保留了作者,而不是一些所谓的“分享精神”人更高尚。

6.文档

文档这块,我个人感觉OC还不具备和OneThink比较的能力。首先,OC的文档不够齐全,这一点也算是OC的痛处吧。虽然开发团队提供了一个离线文档,但还是很不详细。比起OneThink还差很多。不过群里面每天都有更新进度,也算是不错的了。

7.开发者

事实上,这种比较对OC是不公平的。毕竟,第一个版本是一年前发布的,onethink已经发布一年多了。然而,我个人认为OC作为一个用户管理系统,仍然有很大的潜力。毕竟,并不是每个开发者都喜欢自己开发和维护一套用户管理系统。有一个现成的项目会方便得多。

8.总结

通过比较这两个开源项目,我不知道你是否知道。从我个人的角度来看,不管是黑猫还是白猫,它都是一只抓老鼠的好猫。这取决于需求!

我个人的建议是:

1.如果你是做CMS类的项目,那么首选OneThink,这个毫无疑问,毕竟OC,还没有这方面的模块扩展,而从OneThink中再整合这个部分,可谓难度不小。

2.如果你是做一些需要用户系统,并且用户交互比较多的新项目,那么选OC吧,OC的存在,无疑会让你如虎添翼,节省下大量的开发时间。

预料

通过对两个开源项目的比较,很明显OC目前还不如silver bullet好,但最近我发现OC在开源中国OSC@GitPHP类别排名第一,这无疑为开发者提供了一个不错的选择。

在本文的最后,让我表达我对OC未来发展的期望。模块化系统建设理念很好。如果OC的开发团队能够关注开发者,为开发者提供更多支持,相信会有越来越多的PHP开发者采用OC。同时,也希望使用过OC的开发者能够积极分享功能扩展,让OC走得越来越远。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航