原标题:CodeIgniter学习总结——无关代码
CodeIgniter是一个优秀的PHP MVC框架,很多网站在介绍CI的时候,都会强调“轻量级”这个特点,但对于国内PHPer来说,CodeIgniter已经算是比较“重量级”的了(对 比LazyPHP、SpeedPHP、InitPHP、CanPHP等国产PHP框架来说),CodeIgniter提供丰富的扩展类,使得PHPer在 开发应用时可以直接利用,而无需重复制造自己的轮子!
CodeIgniter另一个重要的特点是兼容大多数的PHP版本,目前最新版是CI2.1.4,兼容PHP5.2。或许正是这种兼容性,导致 了CI的没落。CI曾经的核心开发者Phil Sturgeon,现在已经转去开发基于PHP5.3的FuelPHP。Phil Sturgeon在其最近的博文《The "Framework" is Dead, Long live the Framework》 中反驳“The 'Framework' is Dead”(框架必死)的观念,并强调PHP框架将一直发展,特别是“现代”化PHP框架为开发者所提供的便利将越来越大。当然,他在文中所提及的“现代 化”PHP框架不包括CodeIgniter,而是FuelPHP、Laravel、Aura。
PHP在5.3、5.4、5.5几大版本中改进很多,从这篇《php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的》 可以看到,PHP一直在学习各种语言的优点,不断改进自身的语法特性和性能。为了保持对PHP旧版本的兼容,CodeIgniter实际上放弃了很多 PHP新特性,无法更好发挥PHP语言的优点,也因此,CodeIgniter在这场PHP框架的竞争上,慢慢从先驱变成先烈!
甚至EllisLab在去年7月9号发表博文《EllisLab Seeking New Owner for CodeIgniter》,为CI寻找新的“Owner”!当然,目前CI的开发还在进行,几乎每天都有更新代码,我们不需要担心Bug没人理。
听起来CI似乎已是美人迟暮,我个人认为,CI仍是目前最值得选择的PHP MVC框架。首先,CI经过这么多年的发展,代码相当成熟,未来在架构方面改动不会太大(除非放弃兼容性,直接重写),安全性和稳定性比上述“现代 化”PHP框架更强。其次,CI官方一直很注重文档建设,CI的文档十分全面,学习成本远低于其他框架,并且,CI曾经拥有大量的用户,这些用户也为后来 者贡献了大量的使用经验。对于新的技术,我们当然要跟进学习,但是从快速开发、稳定维护的角度来看,目前CI更值得选用!
国内基于CI开发的CMS系统不少,功能完善的有海豚CMS(FineCMS2.X),功能简洁的有小六CMS(目前似乎已经停止开发!),专为开发者提供灵活的后台功能模块的有DiliCMS (不适合普通用户)。DiliCMS的开发者Hex也是国内CodeIgniter开发者社区的站长CodeIgniter 中国的站长。
另外还有烧饼开发的StartBBS (烧饼论坛系统),一个以简洁为理念的微社区Web系统,在Discuz社区满天飞的中国互联网,烧饼的简洁无疑让人眼前一亮!
至于国外基于CI的CMS系统,有Ionize CMS、FUEL CMS、MaxSite CMS(俄)、CMS Canvas、PyroCMS、SiteManagr、AgniCMS(泰)等。
Ionize CMS和FUEL CMS在国内有较多人了解,而且官方的更新比较频繁。最后的AgniCMS是一位泰国开发者ve3开发的,从Github上的代码来看,ve3似乎也开始 转向FuelPHP了。不过不得不说,相比Ionize CMS和FUEL CMS,AgniCMS的功能更符合国内用户的使用习惯,提供了分类、标签、文章、单页、模块、模板等功能,对SEO的支持很好。只是AgniCMS官方 提供的文档是泰文的,没有英文版。
接下来打算学习StartBBS和AgniCMS的代码,并准备为AgniCMS翻译中文语言包。