CodeIgniter 框架怎么样?具体有什么优缺点?听说他的 session 不是很好用。
现在就在用。。。小的php mvc (专业点叫 轻量级。。。) 不是很喜欢。。。特别是 $this->load。。。 入门可以的吧, 用来理解mvc框架还是行的, 学习完直接再看zf 或 yii吧
Hack过CI的底层。
CodeIgniter实现的简洁明白是其中一方面,另外很重要的一点是CI尽最大努力兼顾了PHP4,也就是说,CI的平台兼容性非常的好。
可用性方面,CI提供了不错的扩展方式并且自带了很多library和helper,简单使用起来还是很容易上手和方便使用的。
对扩展组件的继承比较保守,很多实用组件需要自己去添加。这其实也应该是为了保持精简所致。
还有就是@codeigniter所提到的,过分追求短小,有一些设计上的瑕疵。
一般来说拿来做逻辑不是过于复杂的系统还是可以胜任的,而如果要动起真格的来,最好还是用Zend或者Symfony吧。
只說缺點: Ellislab 想為Codeigniter找新東家, 要放棄Codeigniter了
http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter
简单、易上手,学习曲线低。特别是对初学了php的用户,使用ci框架能迅速将代码机构化,易于管理。
作为框架来说,多东西有些过时了。好多流行新功能都没有,如ORM、routes、template、没有命令行工具、没有流行的Migrateions、默认不适用composer等等。
看过好几次这个问题里的答案,现在也来说说自己的想法。
所谓MVC框架,其实在我眼中不过是Router+Controller的前端控制器模式,外加封装了数据库类和视图类而已。只要简单的做到这一步,就可以被称为一个MVC框架。
像有些被称为Restful框架的框架,也无非改善了Router+Controller的前端控制器模式使其更符合Rest的思路,然后可能省略了数据库类和视图类的封装。
对于这些,我都统一称为后端框架。
说句老实话,CI的框架实现很粗糙,数据库类和视图类的封装很弱,但是对PHP新人很友好,这是其最大的优点。
首先,虽然实现粗糙,但是毕竟实现后端框架的从Router到Controller,各种安全方面的东西也不怎么需要使用者考虑,也能充当一个小项目的基础。
其次,代码非常符合初级程序员的思维,也非常适合初级程序员去理解。对于帮助PHP新人实现从模板语言式的开发到理解框架式的开发很有帮助。
最后,在这个composer第三方模块满天飞的时代,CI已经不太合时宜了。PHP程序员千万不能止步在这个框架上,需要进一步学习laravel,symfony等更现代化的框架。
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答867 阅读✓ 已解决
3 回答2k 阅读
1 回答1k 阅读✓ 已解决
2 回答924 阅读
1 回答906 阅读
优点
简介、优雅。
在那些 PHP 框架中,可以说 CI 的思维模式最接近 PHP 初级程序员了,所以,很多 PHP 程序员遇到 CI 后就喜欢上了。相比之下 Cake 的思维模式太接近 ruby,那些从 ROR 转到 PHP 阵营来的程序员应该比较喜欢 Cake,而我则更喜欢 ZendFramwork,原因很简单,我是从 Java 阵营转到 PHP 来的。
同样是中小企业框架,国内的开发者,尤其是使用百度进行搜索的开发人员,应该会更偏爱 ThinkPHP 。
缺点
CI 的核心小,很轻量级,但是因为一味追求小,性能,也使用了不少的全局变量,比如 global $IN, $BM, $CFG, $URI, $LANG, $OUT;。
还有一个缺点,也许是由于我使用 Java 的原因,对 CI 的单一实例很不习惯。