专栏首页学院君的专栏Laravel 7 正式发布,一起来看看有哪些重要更新吧

Laravel 7 正式发布,一起来看看有哪些重要更新吧

Laravel 7 版本于 2020 年 3 月 3 日正式发布,本次版本更新包含了很多新特性:

  • 轻量级用户认证解决方案 —— Laravel Airlock
  • 路由匹配速度底层优化
  • 自定义 Eloquent 转化类型
  • 支持 Blade 组件标签
  • 字符串操作优化
  • 提供了一个全新的 HTTP 客户端(基于 Guzzle 库)
  • 原生支持 CORS 解决跨域请求问题
  • 更多其他特性...

下面我们就一起来看看其中一些比较重要的新特性。

Laravel Airlock

Laravel Airlock 为 SPA(单页面应用)、移动应用以及基于 Token 的简单 API 系统提供了轻量级的用户认证解决方案。

Airlock 是基于令牌(Token)的 API 认证实现,允许为应用的每个用户生成多个 API 令牌,这些令牌可用于被授权执行指定的动作。关于 Airlock 的使用细节,在 Laravel 文档中有详细介绍。

Laravel Airlock 很好地填补了默认的 token 和基于 OAuth2 的 passwort 认证驱动之间的空白,为轻量化的、可用于生产环境的 API 用户认证实现提供了有力的支撑。

自定义 Eloquent 转化

Laravel 包含了多个内置的、有用的转化类型,不过,有的时候,你还是需要自定义自己的转化类型,在 Laravel 7 中,这可以通过定义一个实现 CastsAttributes 接口的类来实现。

实现 CastsAttributes 接口的类必须定义 get 和 set 方法,get 方法负责将获取自数据库的原生值转换为一个转化类型值,而 set 方法是 get 方法的逆操作,负责将转化类型值转换为可存储到数据库的原生值。

Blade 组件标签&优化

Blade 组件现在被重构为允许基于标签进行渲染、属性管理、定义组件class、内联视图组件等,关于这一块的具体细节,在 Laravel 文档中有详细介绍。

HTTP Client

Laravel 现在基于 Guzzle HTTP Client 提供了一个优雅的、最小化的 API,通过这个 API,你可以快速发起 HTTP 请求以便于其他 Web 应用进行通信。

需要指出的是,Laravel 对 Guzzle 库的封装会专注于自身适用的场景以及提供良好的开发者体验。

缓存路由速度优化

Laravel 7 提供了一个新的方法来匹配那些使用 route:cache 命令缓存的、已编译的缓存路由,在大型应用(例如,超过800个路由)中,在基准测试中,这些优化可以将每秒处理请求数提升两倍,不过,该优化对上层代码而言是透明的,无需对现有代码做任何调整。

更多特性

以上只是 Laravel 7 众多新特性中的一小部分,你可以通过官方文档的版本更新以及升级指南查看完整的新特性:https://laravel.com/docs/7.x/releases。

此外,Taylor 在 Laracon Online 中为 Laravel 7 的新特性做了完整的演练,Laracasts 也为其提供了一些新的教程,感兴趣的同学可以去看看。

学院君也会开始 Laravel 7 中文文档的翻译工作,争取两周内完成。

声明:以上内容整理自 Laravel News,原文链接:https://laravel-news.com/laravel7。

本文分享自微信公众号 - 学院君的后花园(geekacademy),作者:学院君

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Laravel 入门项目博客系列教程全部更新完了!

    博客是 Web 1.0 的产物,也是 Web 应用中最基础、最简单的应用形态,是静态页面与动态网站最早的分水岭,所以我们从这里出发,开启基于 Laravel 框...

    学院君
  • 创建并运行一个新的 Laravel 项目

    经过 PHP 入门到实战系列的基础学习,接下来我们就可以正式开始 Laravel 框架的学习和使用了。而这一切都需要从创建一个新的 Laravel 项目开始。

    学院君
  • 关于 Laravel 应用性能优化的几点建议

    很多人吐槽 Laravel 框架性能不行,在我看来,除了每次新请求应用启动阶段由于 Laravel 框架本身的设计,导致服务容器加载服务确实增加了一些耗时外(不...

    学院君
  • Laravel 5.0 发布, 海量新特性!!

    译注: 期待 Laravel 5.0 已经很久很久了, 之前跳票说要到今年一月份发布. 从一月份就一直在刷新官网和博客, 始终没有更新的消息, 前几天终于看到官...

    小李刀刀
  • [PHP] Laravel框架介绍、安装及配置

    Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的...

    泰坦HW
  • Love beautiful code? We do too.

    Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,同时提供了完整而清晰的文档,而且为快速、安全地开发现代应用提供了必要的功能。

    貟王軍
  • Laravel —— 路由的学习笔记

    最近的工作非常忙,公司从项目紧张起来之后,一直在实施996加班制度,工作强度虽然如此,但是任然要利用有限的空余时间来学习。之前都有在前端方面的学习,所以一直想学...

    Originalee
  • 4种Windows系统下Laravel框架的开发环境安装及部署方法详解

    这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0、Mysql、Tomcat等。最新版下载地址:PHP ...

    砸漏
  • 关于 Laravel 应用性能优化的几点建议

    很多人吐槽 Laravel 框架性能不行,在我看来,除了每次新请求应用启动阶段由于 Laravel 框架本身的设计,导致服务容器加载服务确实增加了一些耗时外(不...

    学院君
  • python 学习总结4

      (1)python中的整数与数学中的概念是一致的,可以正也可以负,没有取值范围。

    py3study

扫码关注云+社区

领取腾讯云代金券