Laravel 9 已发布!

Laravel 9 现已 发布 并包含许多新功能,比如最低要求 PHP v8.0、控制器路由组、全新的 Ignition 默认错误页面、Laravel Scout 数据库引擎、全新的 Symfony 邮件组件集成、Flysystem 3.x、改进的 Eloquent 访问器/修改器,以及更多功能。

在开始讨论新功能之前,我们想指出的是,从 Laravel 9 开始,Laravel 将大约每 12 个月发布一个新的主要版本,而不是之前的 6 个月:

Laravel 使用各种社区驱动的包以及 Symfony 组件来实现框架内的许多功能。Symfony 6.0 将于 11 月发布。出于这个原因,我们选择将 Laravel 9.0 的发布推迟到 2022 年。

由于延迟发布,我们可以将我们的底层 Symfony 组件升级到 Symfony 6.0,而不必被迫等到 2022 年 9 月才能执行此升级。此外,这更好地为我们未来的发布做好了准备,因为我们的年度发布总是在 Symfony 发布后两个月发布。

从发布 支持策略 文档中,您可以期待即将发布的暂定日期:

版本 PHP (*) 发行时间 Bug 修复截止时间 安全修复截止时间
6 (LTS) 7.2 - 8.0 2019 年 9 月 3 日 2022 年 1 月 25 日 2022 年 9 月 6 日
7 7.2 - 8.0 2020 年 3 月 3 日 2020 年 10 月 6 日 2021 年 3 月 3 日
8 7.3 - 8.1 2020 年 9 月 8 日 2022 年 7 月 26 日 2023 年 1 月 24 日
9 (LTS) 8.0 - 8.1 2022 年 2 月 8 日 2024 年 2 月 8 日 2025 年 2 月 8 日
10 8.0 - 8.1 2023 年 2 月 7 日 2024 年 8 月 7 日 2025 年 2 月 7 日

Laravel 9 是下一个长期支持版本 (LTS) ,将在 2024 年 2 月之前进行错误修复,在 2025 年 2 月之前进行安全修复。以下是我们在 Laravel 9 的新特性 中对新特性的介绍:

  • PHP 8 是 Laravel 9 中的最低版本
  • 全新设计 routes:list
  • 新的测试 --coverage 选项直接在终端中显示覆盖率
  • 默认配置匿名存根迁移
  • 新的查询构造器接口
  • PHP 8 字符串函数
  • 将邮件功能从 SwiftMailer 移至 Symfony Mailer
  • 支持 Flysystem 3.x
  • 改进的 Eloquent 访问器 / 修改器
  • 使用枚举的隐式路由绑定 (PHP 8.1)
  • 控制器路由组
  • Enum Eloquent 属性转换
  • 强制作用域绑定
  • Laravel Breeze API 和 Next.js
  • Laravel Scout 数据库引擎
  • 全文索引 / Where 子句
  • Blade 模板行内渲染
  • Soketi Echo 服务
  • 支持 Bootstrap 5 分页视图(可选)
  • 异常页面改进
  • 新的 str()to_route() 辅助功能

全新的首页设计

Laravel 官网 为 Laravel 9 的推出采用了全新的设计。它是由 @martinrariga 设计的,我们在这个网站上也使用了 Torchlight 语法高亮。

了解有关 Laravel 9.x 的更多信息

这些只是 Laravel 9 中的一些新功能,要查看完整列表,请查看 Laravel 9 发行说明 以及 升级指南。此外,如果你想要一个简单的更新方式可以参考 Laravel Shift

如果您更喜欢以视频的方式,请查看 Laracasts:Laravel 9 的新功能 关于这个版本的免费视频。

最后,我们要感谢所有贡献、提交 PR、分享想法和使用该框架的人。Laravel 是真正的全球团队合作。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-9-relea...

译文地址:https://learnku.com/laravel/t/64970

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 38
playmaker

learnku 发布 的文档还未更新。站长说下周开始翻译。静请期待!

file

2年前 评论
playmaker

learnku 发布 的文档还未更新。站长说下周开始翻译。静请期待!

file

2年前 评论

将邮件功能从 SwiftMailer 移至 Symfony Mailer Soketi Echo 服务 在实际中有什么区别与之前的

2年前 评论
playmaker (楼主) 2年前

mark 看看

2年前 评论

赞 :+1:

2年前 评论
ieras 2年前
ModStart开源 (作者) 2年前
南城以南

:+1:

2年前 评论

刚从^6.0升级到^8.0,就出了9,真棒

2年前 评论

大家现在生产环境用的是哪个版本?

2年前 评论

请问一下Soketi Echo 服务是什么? file

2年前 评论
JustinMoon 2年前
levi (作者) 2年前

官方文档中9并不是LTS版本

file

2年前 评论
zhuzixian520

更新太频繁了,实际企业级需要的是对php版本兼容范围广泛的框架,一般中小企业很多项目,长期不升级PHP版本,不过laravel新版本适合开发新的项目

2年前 评论
IT学徒 2年前
ModStart开源 2年前
半人间 2年前

RoadRunner只字未提。 :joy:

2年前 评论
playmaker (楼主) 2年前
mengdodo 2年前

有已经尝鲜的没,新的错误页面设置 IGNITION_LOCAL_SITES_PATH 后仍然用的是远程的地址,估计是个BUG

config/ignition.php

    'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', base_path()),
    'local_sites_path' => env('IGNITION_LOCAL_SITES_PATH', ''),
2年前 评论
Lenix

laravel 9 在等待这个问题github.com/symfony/symfony/pull/45...
的解决方案来决定是否是LTS.

2年前 评论

学不动了,学不动了

2年前 评论

速度提升了吗

2年前 评论
Lenix

速度提升很多。

2年前 评论

Laravel 8 + Octane,我的 https,postman 响应 38 ms,感觉很满足了 :relieved:

2年前 评论
playmaker (楼主) 2年前
诺墨

打卡打卡,9.0 文档总算翻译完了😆

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!