Laravel 9.35 发布啦!看看都有哪些新变化?
下面由Laravel教程栏目给大家介绍关于最新发布的Laravel 9.35版本都有哪些变化,希望对大家有所帮助!
Laravel 团队发布了9.35版本,它有一个新的令人兴奋的备用邮件语法、一个Eloquent的 “严格模式” 功能等。
备用邮件语法
Taylor Otwell 通过返回 “指定可邮件内容和属性的精简对象”,贡献了一个可邮件语法。
这是他的一个例子 pull request description:
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Address; use Illuminate\Mail\Mailables\Attachment; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; class InvoicePaid extends Mailable { use Queueable, SerializesModels; /** * 创建一个邮件实例 * * @return void */ public function __construct() { // } /** * 获取邮件信封 * * @return \Illuminate\Mail\Mailables\Envelope */ public function envelope() { return new Envelope( subject: 'Invoice Paid', cc: [new Address('foo@example.com', 'Example Name')], tags: [], metadata: [], ); } /** * 获取邮件内容定义 * * @return \Illuminate\Mail\Mailables\Content */ public function content() { return new Content( view: 'html-view-name', text: 'text-view-name', ); } /** * 获取邮件的附件 * * @return \Illuminate\Mail\Mailables\Attachment[] */ public function attachments() { return [ Attachment::fromPath('/path/to/file'), ]; } }
使用build()
定义邮件的传统方式不会被删除。 我喜欢上面的例子是因为使用 PHP 8 的命名参数更一目了然。
Eloquent “严格”模式
Chris Morrell 和 Taylor Otwell 合作开发了 Eloquent 严格模式,该模式支持以下功能:
- 没有延迟加载
- 分配不可填充属性时的例外情况
- 访问未检索或不存在的属性的异常
要在开发中使用严格模式,方法是将以下内容添加到已注册服务提供者的 boot()
方法中:
Model::shouldBeStrict();
shouldBeStrict()
方法是启用以下所有功能的快捷方式:
Model::preventLazyLoading(); Model::preventSilentlyDiscardingAttributes(); Model::preventsAccessingMissingAttributes();
使用资源路由加载废弃模型
Andrew Brown 提供了使用以下路由语法加载带有资源路由的废弃模型的能力:
// 所有终结点 Route::resource('users', UserController::class)->withTrashed(); // 仅`显示` Route::resource('users', UserController::class)->withTrashed(['show']);
发行说明
你可以在GitHub上看到下面完整的新功能和更新列表以及[9.34.0]和9.35.0](github.com/laravel/framework/compa...) 之间的区别。以下发行说明直接来自 changelog:
v9.35.0
添加
- 允许为资源路由加载废弃模型 (#44405)
- 添加到
Illuminate/Database/Eloquent/Model::shouldBeStrict()
和其他 (#44283) - 没有解析控制器的控制器中间件 (#44516)
- 选择可邮寄的语法 (#44462)
修复
- 修复自引用多对多关系中的聚合函数(withSum 等)问题(#44286)
- 修复了使用静态类属性作为模板属性的问题 (#44473)
- Traversable 在 Enumerate Values 中应该优先于 JsonSerializable(#44456)
- 修复了
make:cast --inbound
,所以它是一个布尔选项,而不是值 (#44505)
修改
- 测试方法。 使用 json_encode 使错误消息更具可读性(#44397)
- 让
Model::without Timestamps()
返回回调的返回值 (#44457) - 仅在相关路由上加载废弃模型(#44478)
- 向 shouldBlockPhpUpload 函数添加额外的 PHP 扩展 (#44512)
- 为特别嘈杂的对象注册 cutInternals casters (#44514)
- 使用 get 方法访问应用程序区域设置 (#44521)
- 仅返回来自频道的非空响应 (09d53ee, 3944a3e)
- 正确的频道匹配 (#44531)
- 迁移邮件组件 (#44527)
原文地址:https://laravel-news.com/laravel-9-35-0
译文地址:https://learnku.com/laravel/t/72658
以上是Laravel 9.35 发布啦!看看都有哪些新变化?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel邮件发送失败时的退信代码获取方法在使用Laravel开发应用时,经常会遇到需要发送验证码的情况。而在实�...

Laravel计划任务运行无响应排查在使用Laravel的计划任务调度时,不少开发者会遇到这样的问题:schedule:run...

在dcatadmin(laravel-admin)中如何实现自定义点击添加数据的表格功能在使用dcat...

Laravel - 转储服务器 - Laravel 转储服务器随 Laravel 5.7 版本一起提供。以前的版本不包括任何转储服务器。转储服务器将成为 laravel/laravel Composer 文件中的开发依赖项。

Laravel框架中Redis连接的共享与select方法的影响在使用Laravel框架和Redis时,开发者可能会遇到一个问题:通过配置...

在Laravel多租户扩展包stancl/tenancy中自定义租户数据库连接使用Laravel多租户扩展包stancl/tenancy构建多租户应用时,...

Laravel - Action URL - Laravel 5.7 引入了一项名为“可调用操作 URL”的新功能。此功能类似于 Laravel 5.6 中的功能,即在操作方法中接受字符串。 Laravel 5.7 引入新语法的主要目的是直接
