缘起

在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 -基础&运算符

    day002 基础&运算符 1.循环语句 ### 1.循环格式 while 条件: print('') ''' while True: print('人生苦短,我用Python.') ''' ...

  2. 批处理 进行svn代码拉取,vs编译,dotfuscator混淆

    Dotfuscator的使用:https://www.cnblogs.com/aitong/p/10684004.html 从拉取代码,编译到最后的混淆步骤很多.这时就可以使用批处理来进行自动化. 用 ...

  3. java多线程-ReadWriteLock

    大纲: ReadWriteLock接口 ReentrantReadWriteLock ReentrantReadWriteLock使用 一.ReadWriteLock public interface ...

  4. Java 数组算法列题解析

    1.声明一个char类型的数组,  从键盘录入6个字符[1]遍历输出[2]排序[3]把char数组转化成一个逆序的数组 总结:分析问题时,先问自己,需要用到什么? 对于这题,第一步:先写一个main方 ...

  5. css :before 内容左边 分割线(四)

    商品 左边分割线,使用css伪类实现,before or  after <style> *{ margin:; padding:; } .clearfix { *zoom:; } .cle ...

  6. Flink安装极简教程-单机版

    一:安装 Flink官网下载地址:https://flink.apache.org/downloads.html 选择1.6.3版本 下载: wget http://mirrors.hust.edu. ...

  7. Jedis连接redis

    今天与大家分享下,Jedis连接池使用.先看一段JAVA 代码:         JedisPoolConfig config = new JedisPoolConfig();         con ...

  8. GIT 恢复单个文件到历史版本

    首先查看该文件的历史版本信息:git log <file> 恢复该文件到某个历史版本:git reset 版本号 <file> 检出改文件到工作区:git checkout - ...

  9. LumiSoft

    SVN: https://svn.lumisoft.ee:8443/svn/LumiSoft_Net/ User: readonly Password: readonly Download: http ...

  10. Firebird execute block 批处理

    火鸟的批处理,效率好高,使用简单. execute block as declare variable i ; begin ) do begin :i = :i + ; insert into m_u ...