缘起

在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. grep练习

    1.查找特定字符串 [root@server3 mnt]# cat passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/no ...

  2. NestJS 用TypeScript开发 nodeJS后端

    NestJS A progressive Node.js framework for building efficient and scalable server-side applications ...

  3. Rational Rose2007下载和安装

    网上关于Rational Rose2007安装包,网上找了一堆大多都是垃圾,最后找到一个可用的(带激活文件),保存在自己的网盘里,这里分享出来:https://pan.baidu.com/s/1bpb ...

  4. 我java学习时的模样(一)

    学会敲键盘,能够实现盲打 程序员写代码,是通过键盘将程序输入到编辑器中,而码子的高效,能够让自己的思路更流畅一些.如果想从事IT工作,那面打字就必须得会,并且,如果还一个一个字母去找,上司就会认为是一 ...

  5. 快速掌握用python写并行程序

    目录 一.大数据时代的现状 二.面对挑战的方法 2.1 并行计算 2.2 改用GPU处理计算密集型程序 3.3 分布式计算 三.用python写并行程序 3.1 进程与线程 3.2 全局解释器锁GIL ...

  6. Hibernate 多对多拆分 两个多对一

  7. OpenGL初识

    OpenGL 概念 OpenGL提供的是一系列接口, 它是指一个规范, OpenGL规范严格规定了每个函数该如何执行, 以及它们的输出值, 具体的实现是由各个显示设备厂商, 它作为本地系统库直接运行在 ...

  8. Silverlight & Blend动画设计系列十:Silverlight中的坐标系统(Coordinate System)与向量(Vector)运动

    如果我们习惯于数学坐标系,那么对于Silverlight中的坐标系可能会有些不习惯.因为在Silverlight中的坐标系与Flash中的坐标系一样,一切都的颠倒的.在标准的数学坐标系中,X轴表示水平 ...

  9. Javascript制作伸缩的二级菜单

    1.javascript方法 <style> #navigation { width: 200px; font-family: Arial; } #navigation > ul { ...

  10. RabbitMQ - exchange

    总结一下几种ExchangeTypes. 之前写发布/订阅模式时第一次提到了exchange type.即producer不是将消息直接放到队列中,而是先到exchange中,exchange主要用于 ...