yii2和laravel比较

一、总结

一句话总结:

开发速度两者相当:laravel的artisan工具和yii的gii有异曲同工的效果,借助于artisan工具,可以快速创建控制器、模型和路由等。
代码的可读性Yii略胜一筹:laravel有点设计过度,laravel的facade模式让阅读vendor下的源代码有点坑,不少类在IDE里不借助第三方组件是无法跳转阅读源码的。
开源生态圈方面lavarel优:laravel社区比较活跃,资源比较丰富,一些第三方的工具都能在github上找到

1、Yii 当前有两个主要版本:1.1 和 2.0 介绍?

1.1 版是上代的老版本,现在处于维护状态。
2.0 版是一个完全重写的版本,采用了最新的技术和协议,包括依赖包管理器 Composer、PHP 代码规范 PSR、命名空间、Traits等等。

2、设计模式如何进阶学习?

可以直接看lavarel或者yii的源码,里面用了很多设计模式

3、Yii和lavarel框架总结?

yii的优势是非常良好的扩展性和极其稳定的性能,
laravel的优势是比较好写出工整便于维护的的代码,这源自于其卓越的设计模式,天生为大型项目而生

二、yii2和laravel哪个框架代表着PHP的未来?

参考:yii2和laravel哪个框架代表着PHP的未来?-程序员-梁巨才个人博客
https://www.liangjucai.com/article/329

yii2是美籍华人薛强开发的高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。Yii 当前有两个主要版本:1.1 和 2.0。 1.1 版是上代的老版本,现在处于维护状态。2.0 版是一个完全重写的版本,采用了最新的技术和协议,包括依赖包管理器 Composer、PHP 代码规范 PSR、命名空间、Traits等等。 2.0 版代表新一代框架,以下写到yii也是专指yii2.0。

laravel号称是为WEB艺术家创造的简洁、优雅的PHP开发框架,它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

1、从开发速度方面比较,借助于gii脚手架,可以快速生成代码,也就是说搭建一个可以增删改查的系统可能一行代码都不用写,而且集成了jquery和bootstrap,特效和样式基本也不需要写了,这对于设计和审美能力普遍较差的后端程序员来说简直是一大福利。而laravel的artisan工具和yii的gii有异曲同工的效果,借助于artisan工具,可以快速创建控制器、模型和路由等。这点上yii和laravel各有千秋,不分上下。不过在前后端完全的分离的趋势下,yii2前后端的耦合的还是有些重了。

2、从代码的可读性方面比较,yii不会为了刻板地遵照某种设计模式而对代码进行过度的设计。而反观laravel有点设计过度,laravel的facade模式让阅读vendor下的源代码有点坑,不少类在IDE里不借助第三方组件是无法跳转阅读源码的。这点上yii要比laravel略胜一筹。

3、从开源生态圈方面比较,laravel社区比较活跃,资源比较丰富,一些第三方的工具都能在github上找到,而Yii因为人少,稍微偏门一点的就少,这点上laravel要比yii略胜一筹。

总体而言,yii和laravel目前来看,都是php最好的框架,yii的优势是非常良好的扩展性和极其稳定的性能,laravel的优势是比较好写出工整便于维护的的代码,这源自于其卓越的设计模式,天生为大型项目而生。具体用哪个框架看团队、公司的需求~

 

yii2和laravel比较的更多相关文章

  1. composer安装yii2或者laravel报错

    大概的信息就是提示让登陆github,然后就报错了 Could not fetch https://api.github.com/authorizations, enter your GitHub c ...

  2. tp5, laravel, yii2我该选择哪个

    为什么写这篇文章 我个人有一个技术群,里面学什么框架的都有,经常会有人问 某某功能 在 哪个框架怎么实现,用什么框架实现更好,说道这里我大家讲一个同类型问题的笑话 某女:你能让这个论坛的人都吵起来,我 ...

  3. composer php依赖管理工具

    #composer是什么 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. composer出现之前我们php项目依赖管理大部分都是手动 ...

  4. 七大php主流框架,你用过几个?

    在php中,我们最常用的框架有七个,分别是Yii2.Laravel.Yaf.Thinkphp.Code Igniter.Zend Framework以及CakePHP,今天我们就来详细介绍一下他们.一 ...

  5. 【转】PHP框架性能测试报告 - ThinkPHP 3.2.3 Laravel 5.2 Yii2.0.5

    作为一个PHP开发者,而且是初创企业团队的技术开发者,选择开发框架是个很艰难的事情. 用ThinkPHP的话,招聘一个刚从培训机构出来的开发者就可以上手了,但是性能和后期代码解耦是个让人头疼的事情.不 ...

  6. 【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建

    缘由 经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考 Nginx Yii2 server  ...

  7. PHP框架(如:laravel、yii2、thinkPHP5)中统一异常处理及统一日志打印

    背景: 现在写接口服务应用有一个很通用的需求,想通过日志.或者监控的形式监测的接口的运行情况,比如耗时.请求参数.响应结果.和前端联调接口时或者排查线上问题时日志必不可少,特别是现场日志. 应用运行时 ...

  8. laravel安装学习步骤

    在看知乎比较php框架的优劣的时候提到为什么laravel这么好国内用的少,还有就是yii2,有人提到原因就是composer在国内无法使用.这制约了使用composer进行包管理的框架在国内的传播和 ...

  9. 我 && yii2 (路由优化)

    今天配置了一下yii2 的路由,用 /index.php?r=... 这样的路由,实在是不太习惯,所以我便试着把yii2 的路由,写成laravel 那般,以下为详情 1.环境介绍 lnmp php5 ...

随机推荐

  1. Oracle简单学习

    最近一段时间重温了oracle关于存储过程和oracle包以及function中的定义, 先看一下要用的表: devices(id number, name varchar2, age number) ...

  2. Emqtt集群搭建

    1 Emqtt简单搭建 1.1  介绍:EMQ:EMQ 2.0,号称百万级开源MQTT消息服务器,基于Erlang/OTP语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源MQTT消息服务器 ...

  3. sqlalchemy的不区分大小写比较

    方法一:collation 参照:https://segmentfault.com/q/1010000010203547 方法是在 db.String 中添加 collation='NOCASE' 描 ...

  4. Oracle-常见的错误

    1.见下面的例子 create or replace procedure p_qr_stu_cid(s_id in number, c_id out number) as begin select t ...

  5. P3914染色计数

    题目描述 有一颗\(N\)个节点的树,节点用\(1,2,\cdots,N\)编号.你要给它染色,使得相邻节点的颜色不同.有\(M\)种颜色,用\(1,2,\cdots,M\)编号.每个节点可以染\(M ...

  6. java 关于泛型的一些知识点

    public class Generic <T>{ private T ob; public Generic(T ob){ this.ob=ob; } public T GetOb(){ ...

  7. python 字符编码问题总结

    都是计算机存储是二进制0101之类的数字 最早计算机在美国开始的 所以数字和英文之类的占用八位 2的8次方 256可以存储对于英文和数字戳戳有余  每个国家都有自己的编码 中国 gb2312 gbk ...

  8. C# DATETIME格式转换汇总 根据日期获取星期

    原文:C# DATETIME格式转换汇总 根据日期获取星期 C# DateTime.Now.Year --2019(年) DateTime.Now.Month --9(月) DateTime.Now. ...

  9. bzoj3097 Hash Killer I

    Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special Judge Description 这天天气不错,hzhwcmhf神犇给 ...

  10. React(2) --super关键字

    参考:http://www.phonegap100.com/thread-4911-1-1.html Es6中的super可以用在类的继承中,super关键字,它指代父类的实例(即父类的this对象) ...