缘起

在PHP开发中,选择合适的框架有助于加快软件开发,节约宝贵的项目时间,让开发者专注于功能的实现上。框架的问题是需要很多的投入,选择框架时,我们更看重这个框架的未来,存在多年的大型框架必须要有好的,而且要时刻做好调整。

有一点很重要,框架只是工具,不能抱有对框架太多的幻想,如何理解呢,就是说有时候你可能会遇到框架没有提供我们想要的具体工具。

排行

Sitepoint网站做了一个小的调查,看看PHP开发者们最喜欢使用哪个PHP框架。调查结果显示,最流行的PHP框架前三甲为:Laravel、Phalcon、Symfony2

这值是国外技术人员对框架的统计,可能对国内的行情不胜了解。如果熟悉一点国内氛围的朋友,那么对Yii和ThinkPHP一定不会感到陌生。

今天枫爷也不打算给大伙分析太多的框架,毕竟这么多,一个个分析没什么必要,毕竟重复劳动的工作做起来也没啥意思。

Laravel

由泰勒·奥特威尔领导编写,构建在自身的Illuminate框架库之上,据我了解,Laravel不能轻易解耦,没有使用PSR-2标准【http://www.cnblogs.com/riverdubu/p/6437869.html】,但是呢,它的官网是这么去解释的:

为 WEB 艺术家创造的 PHP 框架

所以,我决定在后续的日子里面好好研究一下这个框架,给出【Laravel系列】的文章。

中文官网:http://www.golaravel.com/

Yii

枫爷使用的最多的框架,也是创业的时候用于底层的框架,简单,明了,关键是他的作者,qiang.xue,华人,冲这一点,我就得好好讲一讲这个框架。

优点

1、Yii简单易学,中文社区活跃,而且传承性强,后续的开发人员只需要撸业务代码即可,对框架的依赖少。

2、Yii 的框架对扩展支持相当高,很方便扩展,我自己就扩展了很多组件。

3、modules 设计是一个很优秀的东西,你的后台有很多的业务线,模块在一些项目的特性可分组,每个组包含一些强相关的特性,比方说会员啊,商品啊,社区啊,订单啊之类的分组,都可以设定为一个模块,每个模块由一个组长负责,两个成员进行研发,很好的做到了业务分离。

4、集成了缓存、数据库等一系列优秀的工具。

缺点

1、Yii里面的很多组件和前端耦合性太强,而且学习成本相对其他框架来看有点高

2、Gii的确是个死模板,没什么太大的用处,除非你的业务也很死

总结

1、用来开发后台提供给前端的接口可以,方便,快捷

2、MVC模式需要自行去分类,虽然Yii本身采用的是MVC模式

3、适合中大型公司,业务变化少

中文官网:http://www.yii-china.com/

个人建议,初学者还是多研究下PHP的组件【http://www.cnblogs.com/riverdubu/p/6444403.html】,如果非得研究框架,可以跟随我的脚步,一起来多探讨探讨Yii和Laravel,当然了,这些都是经验总结之谈,仅代表个人观点,可能有些表达不当,但也能凑合着用吧。^_^

【PHP系列】框架的抉择的更多相关文章

  1. Net系列框架-Dapper+简单三层架构

    Net系列框架-Dapper+简单三层架构 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题,欢迎联系我 ...

  2. Net系列框架-Dapper+AutoFac 基于接口

    Net系列框架-Dapper+AutoFac 基于接口 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题 ...

  3. ASP.NET MVC系列 框架搭建(二)之仓储层的优化

    大神勿喷,小神默默学. 会了就是不值一提的东西,不会就是绝对的高大上. 最后上传源码.希望能给读者带来一些新的认识及知识. 还没上过头条..各位大神,请点支持一下小弟. 陆续更新.更新到你会为止!! ...

  4. js基础系列框架:JS重要知识点(转载)

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

  5. ASP.NET MVC系列 框架搭建(一)之仓储层的搭建

    大神勿喷,小神默默学. 会了就是不值一提的东西,不会就是绝对的高大上. 最后上传源码.希望能给读者带来一些新的认识及知识. 还没上过头条..各位大神,请点支持一下小弟. 陆续更新.更新到你会为止!! ...

  6. ASP.NET MVC系列 框架搭建(三)之服务层的搭建

    邯郸学步 吾虽是一不知名的菜鸟,但,吾亦有一个从后台程序员成为一名小小架构师梦想,深知架构师不是想想就成的. 吾已工作过一阵子,吾妄想在真正毕业之后工作一年左右就能拿到那个数ten thousand的 ...

  7. 今日思考:MVC系列框架之Struts存在的意义是什么?

    Struts其实就是MVC的代名词,那么提到MVC就不得不提早期的ModelⅠ.那时候JSP页面中混杂了大量的JAVA Scriptlet脚本语句,为了可维护性考虑,有人提出了ModelⅡ,也即现在的 ...

  8. 【驱动】Linux初级驱动系列框架

    [系统环境搭建] 1.uboot的命令 set serverip .xx set ipaddr .xxx set bootcmd tftp zImage\;bootm //开发模式 set bootc ...

  9. spring系列框架篇-承接各类型中小型项目-期待与您的长期合作!

    框架选型: 1.基本框架:springboot2.2+springcloud(Hoxton.M2)+nacos (所有公共模块全部使用 starter 方式依赖) 2.授权及权限:oauth2+jwt ...

随机推荐

  1. Python用于http/https接口自动化

    本接口自动化框架主要用到的类: 1. unittest:组织测试用例 2. requests:http/https请求 3. HTMLTestRunner:生成测试报告 4. Dingtalkchat ...

  2. how to install mapr sandbox

    Sometimes we need a standalone envrionment to test Hadoop and Spark, mapr is a choice to do that in ...

  3. MyBatis整合Spring详细教程

    1整合思路 1.SqlSessionFactory对象应该放到spring容器中作为单例存在. 2.传统dao的开发方式中,应该从spring容器中获得sqlsession对象. 3.Mapper代理 ...

  4. validate表单校验插件笔记

    1validation知识点 1 validation基础 validation插件下载http://bassistance.de/jquery-plugins/jquery-plugin-valid ...

  5. 开源移动端IM比较SipDroid,IMSDroid,CSipsimple,Linphone,webrtc

    最新要做一个移动端视频通话软件,大致看了下现有的开源软件 一) sipdroid1)架构sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员 ...

  6. 【随笔】 MyEclipse2014的安装和破解

    MyEclipse,是在eclipse 基础上加上了自己的插件.MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java.Java EE以及 ...

  7. mongodb数据库还原

    ./mongorestore -h -u myhuiqu -p Huiqu.com@ --authenticationDatabase /

  8. PHP的parse_ini_file()函数,解释结构类型php.ini格式的文件

    1.直接读取,返回一维数组 如: "test.ini" 的内容: [names] me = Robert you = Peter [urls] first = "http ...

  9. 入门系列之在Nginx配置Gzip

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由小铁匠米兰的v 发表于云+社区专栏 简介 网站加载的速度取决于浏览器必须下载的所有文件的大小.减少要传输的文件的大小可以使网站不仅加载 ...

  10. ie6的display:inline-block实现

    摘抄自原文链接 简单来说display:inline-block,就是可以让行内元素或块元素变成行内块元素,可以不float就能像块级元素一样设置宽高,又能像行内元素一样轻松居中. 在ie6中给div ...