做软件外包一年多,接触了yii,codeigniter(ci),zend framework,cakephp 4个框架,在此发表一点个人看法,能力有限不敢说正确,但确实是自己使用后的感触,保证原创绝非复制。

Yii

有个叫“脚手架”的东西,能自动生成数据库操作等常用代码。

能自动生成js代码,采用jquery框架,唯一有待商榷的就是,我不知道在页面内生成这么多js会不会影响SEO优化。

感觉是我用过的最好的框架

CodeIgniter(CI)

不喜欢CI的框架设计,每调用一个model,都会被实例化后挂到ci类上,虽说这么干可以实现单例模式,但这样就完全放弃了IDE的代码提示功能,光这一点我个人就很想否定这框架。

但CI的代码非常简单,很容易看懂,像文件上传类以及大部分helper类,基本都可以直接复制过来,稍加改动就可以整合成自己的代码,且文档写的很清晰,有中文版文档,作为新手学习之用还是很不错的。

Zend Framework

作为官方框架,功能上是牛的一逼,但小网站用它发挥不出它强大的功能,反倒是会让网站访问速度明显变慢。比如自己写个小博客什么的,用zf本地测试明显感觉比不用框架要慢的多。

然后个人比较不喜欢zf超长的类名,书写起来很麻烦。

CakePHP

因为是用这个做二次开发。。原来的项目用的是CakePHP 1.0,这个实在是垃圾的让我疯掉,它也像Yii那样能自动生成js代码,但一代的cakephp用的是prototype框架,这框架已经完全被jquery打败,相比jquery,功能弱切没多少插件资源可用。二代的CakePHP用的是jquery,不过因为跟一代完全不兼容,所以没办法直接升级。

而且CakePHP的设计跟CI很像,也是调用一个model就挂到主类上,完全放弃了IDE的代码提示功能。

然后CakePHP的文档也是写的。。很难懂。。即便是看中文版也很难懂。。个人对一代CakePHP的评价是,一无是处。

总结

新手推荐看看CI的代码,因为这是我见过最容易看懂的框架。

然后开发推荐Yii,开发效率高,功能强。

珍爱生命,远离CakePHP一代(二代没用过不评价)。