为什么用XOOPS来开发?
这要从我认识XOOPS说起.2005年以前我自以为懂些编程,根据面向对象的理论,到处寻找PHP的类库,花了许多时间在PEAR上.认为使用类才能提高开发效率.但因为实践水平低,学习PEAR并不成功,只掌握了少数的类,却花费了大量的时间.于是我开始寻找PHP开发框架.那时候国内的PHP资料还是算比较少.偶然看到XOOPS的介绍,是最流行的CMS,看了一下资料.发现有数据库访问,权限系统等,很适合作为一个框架使用.于是便在XOOPS框架下开始开发了.一开始还是用旧的想法,只是用了XOOPS的一少部分功能.
XOOPS最能吸引我的是大量的模块,论坛,文章这些对于一个网站来说是必备的,没有必要重新来编写.拿来就可以用了.再自己开发主要的功能.就可以实现自己的网络想法了.当初是这样想的,但至今没有实多少个自己的想法.其实要做成一件事是非常难,特别像我这个只会凭一已之力的人.
言归正传.为什么用XOOPS来开发?
大部分人认为XOOPS是一个CMS,内容管理系统.不想在这里谈我对CMS有定义,这个问题另外讨论吧.我认为XOOPS是一个开发框架.是一个功能极齐全的framework:
还有其它一些次要的优点就不一一列举了.我会在后面的章节逐一介绍.
这要从我认识XOOPS说起.2005年以前我自以为懂些编程,根据面向对象的理论,到处寻找PHP的类库,花了许多时间在PEAR上.认为使用类才能提高开发效率.但因为实践水平低,学习PEAR并不成功,只掌握了少数的类,却花费了大量的时间.于是我开始寻找PHP开发框架.那时候国内的PHP资料还是算比较少.偶然看到XOOPS的介绍,是最流行的CMS,看了一下资料.发现有数据库访问,权限系统等,很适合作为一个框架使用.于是便在XOOPS框架下开始开发了.一开始还是用旧的想法,只是用了XOOPS的一少部分功能.
XOOPS最能吸引我的是大量的模块,论坛,文章这些对于一个网站来说是必备的,没有必要重新来编写.拿来就可以用了.再自己开发主要的功能.就可以实现自己的网络想法了.当初是这样想的,但至今没有实多少个自己的想法.其实要做成一件事是非常难,特别像我这个只会凭一已之力的人.
言归正传.为什么用XOOPS来开发?
大部分人认为XOOPS是一个CMS,内容管理系统.不想在这里谈我对CMS有定义,这个问题另外讨论吧.我认为XOOPS是一个开发框架.是一个功能极齐全的framework:
- 用户登录,群组权限,数据库访问,对象数据库映射(ORM),调试与出错信息,模板系统.这些是一个开发框架最基本的.
- 开发约定.  过去自己编程的时候,一些小问题总是困扰自己,文件应该放在什么目录,文件名怎样起,这个功能到底放在个文件好还是放在那个文件好,是不是完全不使用全局变量.这些问题总是一会儿学这个程序的写法,一会儿觉得那个程序的方法好,摇摆不定.XOOPS有一套约定,是前人总结下来的好方法,虽然可能有一些不便的地方,但有了统一的规则,上述问题就解决了.
- 有大量现成的功能模块,实现了许多常用的功能,不需再重复工作.
- 技术支持.技术支持无论对使用者还是开发者来说都十分重要.有许多人喜欢到处找源码,认为有了源码,就可以免费使用了,改头换脸后就可以用来赚钱了.其实有没技术支持的代码是一堆费物,是浪费你的时间和生命的吸血鬼.XoopsChina 社区还是比较活跃的,虽然开发方面的支持较少,xoops.org有更多的支持.
- 许多内建的类和函数.经过大量实践检验的函数解决许多细节的问题.省去大量的劳动.
- 出色的对象数据库映射.重新提到这一点,因为它非常重要,是XOOPS的核心.一般不需要写SQL语句,就可以方便操纵数据库.当表结构发生改变时,可以很容易修改.这样就可以随心所欲地开发自己的功能,进行循环开发,而不需要事前将所有东西都计划好.
- 开源.这是一个优点,否则你就得不到它了.这也是一个缺点,GPL 协议使急于富裕起来的中国程序员又爱又恨.
还有其它一些次要的优点就不一一列举了.我会在后面的章节逐一介绍.