我接手这个项目,就是用2008开发的,就开发期间所遇到的问题,大致说下,phpcms2008,总的来说,设计的还是比较合理的,比较优秀的一款产品.
优点如下:
1. 模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的.
2. 灵活的标签语法,非常强大。
3. 缓存做的非常优秀,几乎支持目前主流的几大缓存系统解决方案,file缓存,eaccelerator缓存,memcache缓存,shmop缓存等.
4. 安全性也不错的,后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台,多次登录失败,开启验证码功能,防止机器人频繁猜口令.
5. 数据库,在根目录下的include目录下,db_access.php db_mssql.php db_mysql.php等,就照着他的方法,在增加几个也没问题的.
6.兼容性,2008这套系统,我估计是在php4的基础上开发的,所以向下兼容性是不错的。在 include/global.func.php 这个文件可以看到很多if(!function_exist()){ },这些代码就是为了兼容php4相关函数.
7. 待续
缺点如下:
1. 后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了,这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的.
2. 分部式,后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件.如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了.
3.数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如我要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255.后来,我去查了下,modelfiled表,才发现该系统是将类型写到该表中了.
4.加密/解密程序,目前已经在想相关安全网站已被爆以破解,这也不是什么新闻了,在开发中,关注下相关安全厂商发布的漏洞.
5. 数据库抽象层,就以上提到的几个数据库文件,db_mssql.php db_mysql.php db_access.php 等对于数据库分布式,应该没问题的,我想说的是,数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的.--Vevb.com
6.待续.
新闻热点
疑难解答