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. Bootstrap 学习笔记9 标签页和工具提示插件

    <ul class="nav nav-tabs"> <li class="active"><a href="#html5 ...

  2. sql 为什么要用where 1=1?

    之前一直不太明白,sql语句里为什么要写where 1=1 提升某种执行效率? 其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以. 这个1=1常用于应用程序根据用 ...

  3. 用vue.js写的一个瀑布流的组件

    用vue.js写的一个瀑布流的组件:https://segmentfault.com/a/1190000010741319 https://www.jianshu.com/p/db3cadc03402

  4. 难倒你了吧!ArrayList 为啥要实现 RandomAccess 接口?

    作者:蔡先森_caiyq https://www.jianshu.com/p/3e2a9e4c9e01 在我们的开发中,List接口是最常见不过,而且我们几乎每天都在用ArrayList或者Linke ...

  5. 2019Android阿里&腾讯&百度&字节面试汇总(附面试题总结、Android书单)

    1.基本情况 先简单说说我今年的面试经历吧,本人2018届211软件工程硕士生,Android开发岗.此文主要是2019年年初春招的面试和秋招面试经验汇总,最终拿到了阿里,腾讯,字节跳动,百度等off ...

  6. 2. ZooKeeper基础

    1. ZooKeeper的特性 ZooKeeper的特性主要从会话.数据节点,版本,Watcher,ACL权限控制,集群角色这些部分来了解,其中需要重点掌握的数据节点与Watcher 1.1 会话 客 ...

  7. Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结

    Ubuntu18.04发行已经有一段时间了,正好最近Tensorflow也发布了1.8版本,于是决定两个一起装上,以下是安装总结,大致可 以分为5个步骤 确认当前软件和硬件环境.版本 更新显卡驱动,软 ...

  8. Linux就该这么学07学习笔记

    参考链接:https://www.linuxprobe.com/chapter-07.html RAID磁盘冗余阵列 RAID 0 RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串 ...

  9. 一、表单和ajax中的post请求&&后台获取数据方法

    一.表单和ajax中的post请求&&后台获取数据方法 最近要做后台数据接收,因为前台传来的数据太过于混乱,所以总结了一下前台数据post请求方法,顺便写了下相对应的后台接收方法. 前 ...

  10. rabbitmq AmqpClient 使用Direct 交换机投递与接收消息,C++代码示例

    // 以DIRECT 交换机和ROUTING_KEY的方式进行消息的发布与订阅 // send // strUri = "amqp://guest:guest@192.168.30.11:8 ...