最近要自己一个人做一个网站,于是在CI和YII中选择。
由于Ci之前看过,所以简单的看了下号称速度最快的Yii的官方文档,也下载了一个官方例子运行。
发现Yii功能挺强大的,在功能方面和我以前看过的Python的django框架很相似。
但是Yii的缺点也很明显,所以如果有在两者之间犹豫的同学可以借鉴一下的思路。
第一、Yii的OO很纯粹
里面各种接口、类、继承、扩展,显得很庞大,所以不适合对OO不是太理解的同学。当然如果你想以学习OO为目的,可以使用Yii;如果是实际生产,注重开发效率还是CI好。加之我之前一直使用的asp.net,所以我个人对OO不怎么感冒。
第二、Yii的功能很强大
功能强大是好事,也是坏事。我一直认为,框架虽然帮你做了很多,但是没有万能的框架,框架功能越多,符合实际需求预期效果的功能相对就越少,花费时间学习的成本就越高。这一点我在ASP.net上是深有体会。
总结:Yii自我标榜easy,其实完整的学下来并不简单,至少他需要你掌握OO的知识。所以我认为,Yii适合业务逻辑相对复杂的业务系统开发,比如项目管理,OA之类的,因为很多组件已经集成,不用你自己东拼西凑再花时间去找;CI更适合做业务逻辑相对简单的互联网应用,简单高效,自己动手。
所以最后还是决定使用CI,一点愚见,欢迎拍砖。