【PHP系列】框架的抉择
缘起
在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系列】框架的抉择的更多相关文章
- Net系列框架-Dapper+简单三层架构
Net系列框架-Dapper+简单三层架构 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题,欢迎联系我 ...
- Net系列框架-Dapper+AutoFac 基于接口
Net系列框架-Dapper+AutoFac 基于接口 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题 ...
- ASP.NET MVC系列 框架搭建(二)之仓储层的优化
大神勿喷,小神默默学. 会了就是不值一提的东西,不会就是绝对的高大上. 最后上传源码.希望能给读者带来一些新的认识及知识. 还没上过头条..各位大神,请点支持一下小弟. 陆续更新.更新到你会为止!! ...
- js基础系列框架:JS重要知识点(转载)
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
- ASP.NET MVC系列 框架搭建(一)之仓储层的搭建
大神勿喷,小神默默学. 会了就是不值一提的东西,不会就是绝对的高大上. 最后上传源码.希望能给读者带来一些新的认识及知识. 还没上过头条..各位大神,请点支持一下小弟. 陆续更新.更新到你会为止!! ...
- ASP.NET MVC系列 框架搭建(三)之服务层的搭建
邯郸学步 吾虽是一不知名的菜鸟,但,吾亦有一个从后台程序员成为一名小小架构师梦想,深知架构师不是想想就成的. 吾已工作过一阵子,吾妄想在真正毕业之后工作一年左右就能拿到那个数ten thousand的 ...
- 今日思考:MVC系列框架之Struts存在的意义是什么?
Struts其实就是MVC的代名词,那么提到MVC就不得不提早期的ModelⅠ.那时候JSP页面中混杂了大量的JAVA Scriptlet脚本语句,为了可维护性考虑,有人提出了ModelⅡ,也即现在的 ...
- 【驱动】Linux初级驱动系列框架
[系统环境搭建] 1.uboot的命令 set serverip .xx set ipaddr .xxx set bootcmd tftp zImage\;bootm //开发模式 set bootc ...
- spring系列框架篇-承接各类型中小型项目-期待与您的长期合作!
框架选型: 1.基本框架:springboot2.2+springcloud(Hoxton.M2)+nacos (所有公共模块全部使用 starter 方式依赖) 2.授权及权限:oauth2+jwt ...
随机推荐
- ifconfig无输出的原因及解决办法
问题 执行 ifconfig 命令无任何报错,也无任何输出信息 [root@linuxprobe ~]# ifconfig[root@linuxprobe ~]# 排错 1. 检查PATH变量 [r ...
- Linux and Shell 实用命令
-name '*.jar' -printf '%p:' ### 查看CPU使用率 mpstat -P ALL
- python爬虫专栏学习
知乎的一个讲python的专栏,其中爬虫的几篇文章,偏入门解释,快速看了一遍. 入门 爬虫基本原理:用最简单的代码抓取最基础的网页,展现爬虫的最基本思想,让读者知道爬虫其实是一件非常简单的事情. 爬虫 ...
- DIY FRDM-KL25Z开发环境 -- 基于GNU工具链
IDE大行其道的今天,一键make极大的便利了开发的同时,也每每让各种半路出家的猿们遇到工具链的问题感到束手无策(不就是说自己嘛?^_^!!!).也玩过不少板子了,始终没去深究工具链方面的问题,对于嵌 ...
- MySQL where 表达式
where 条件表达式 对记录进行过滤,如果没有指定where子句,则显示所有记录. 在where表达式中,可以使用MySQL支持的函数或运算符.
- div+css 制作表格
<div class="table"> <h2 class="table-caption">花名册:</h2> <di ...
- MySql的存储引擎介绍
下面主要介绍InnoDB.MyISAM和MEMEORY三种存储引擎. InnoDB存储引擎 InnoDB遵循CNU通用公开许可(GPL)发行.InnoDB已经被一些重量级互联网公司所采用,如雅虎.Sl ...
- Netty SSL性能调优
TLS算法组合 在TLS中,5类算法组合在一起,称为一个CipherSuite: 认证算法 加密算法 消息认证码算法 简称MAC 密钥交换算法 密钥衍生算法 比较常见的算法组合是 TLS_ECDHE_ ...
- POj2387——Til the Cows Come Home——————【最短路】
A - Til the Cows Come Home Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & ...
- mysql之调优概论
一 简介 咱们先不说cpu的频率,内存的大小(这个和索引一样重要,但不是本文讨论的内容),硬盘的寻道时间.想起mysql的调优,最起码的必须知道explain执行计划,慢sql日志,老旧的profi ...