关于php框架的选择

来源:互联网 发布:linux服务器安全 书籍 编辑:程序博客网 时间:2024/05/05 13:18

1.如果你是新手我建议你学习ci,如果你入行已久又害怕麻烦,我建议你看yii,如果你提高开发效率并愿意接触新玩具,我推荐你看laravel4。

2.国内的话 一般公司基本就是 tp、ci、yii以及zend 还有一些不知名的小框架
bat 等会考虑效率问题, 所以一般会采用 yaf 之类的框架, 新浪内部就大量在使用。

另外 建议学习框架得有个大致的方向 要学习的是这个框架的优点 也要了解缺点, 框架的组成部分(部件), 看的多了上手任何一个框架都基本不是难事,从工作上来看也是,公司用什么你就得适应 除非你是老大,可以自己决定选型。 不要靠着会某某框架去找公司, 这样的公司 对自己也没什么提高。

此外,要想提高技术水平,建议好好看几个国外框架, 了解最新的趋势以及一些行业标准 psr、composer 等等

可以是如下方向 (tp|ci)->yii->(laravel|symfony)

CodeIgniter(CI)

优点:

1. 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能

2. 快速简洁,代码不多,执行性能高,PHP框架简单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用

缺点:

1. 把Model层简单的理解为数据库操作

2. PHP框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要

评价:

总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的 library 也还不错,简洁高效。

Zend Framework

优点:

1. 官方出品,自带了非常多的 library,框架本身使用了很多设计模式来编写,架构上很优雅,执行效率中等;MVC设计中,比较简洁,具有路由功能,配置文件比较强大(能够处理XML和php INI),各种 library 很强大,是所有PHP框架中各种功能最全面的,包括它不仅是一个PHP框架,更是一个大类库(取代PEAR),这是它的主要特色;能够直观的支持除数据库操作之外的Model层(比 CodeIgniter 和 CakePHP 强),并且能够很轻易的使用Loader功能加载其他新增加的Class;Cache功能很强大,从前端Cache到后端Cache都支持,后端Cache支持Memcache、APC、SQLite、文件等等方式;数据库操作功能很强大,支持各种驱动(适配器)

2. 文档很全,在国内社区很成熟,并且目前不少Web 2.0网站在使用,学习成本中等

缺点:

1. MVC功能完成比较弱,View层简单实现(跟没实现一样),无法很强大的控制前端页面

2. 没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成本高

3. Zend Framework 作为一个中型应用框架问题不大,也能够勉强作为大型应用的PHP框架,但是作为一个很成熟的大型PHP框架来说,还需要一些努力

评价:

作为官方出品的框架,Zend Framework的野心是可以预见的,想把其他框架挤走,同时封装很多强大的类库,能够提供一站式的框架服务,并且他们的开发团队很强大,完全足够有能力开发很强大的产品出来,所以基本可以确定的是Zend Framework前途无量,如果花费更多的时间去完善框架。同样的,Zend Framework架构本身也是比较优雅的,说明Zend官方是有很多高手的,设计理念上比较先进,虽然有一些功能实现的不够完善,比如View层,自动化脚本等等,这些都有赖于未来的升级。总体来说Zend Framework是最值得期待的PHP框架,当然,你目前要投入你的项目中使用也是完全没问题的。



摘自知乎和segmentfault:

https://www.zhihu.com/question/19558755

https://segmentfault.com/q/1010000000667795

此外——http://www.sohu.com/a/128346882_206067,这篇文章写得也很不错,总结了很多框架的特点。

以上,给自己一个对php框架的认识

原创粉丝点击