Laravel团队在这周发布了 9.37 版本并且同时在 9.37 与 Laravel 9.36 之间发布了一些补丁。本周得发布添加了对使用 Vite 预加载资源的支持,新的严格违规处理程序,CLI输出详细的视图缓存,以及更多。
Verbose 视图缓存
Andrew Brown 贡献了在 view:cache
命令中传递 -v
的功能,以输出命令正在查找的目录,以及通过 -vv
来查看命令缓存中的每个文件。【相关推荐:laravel视频教程】
php artisan view:cache -vv
这是一个例子,你会看到新安装的 Laravel 9.37 的情况:
处理静默丢弃与属性丢失的方法
Aaron Francis 提供了为“静默丢弃”和“缺少属性”严格模式冲突注册处理程序的功能:
Model::handleMissingAttributeViolationUsing( function ($model, $key) { // ... });Model::handleDiscardedAttributeViolationUsing( function ($model, $keys) { // ... });
传递救援报告参数的闭包
@foremtehan 贡献了在使用 rescue()
时将可调用对象作为 $report
参数传递,以便你可以根据返回的布尔值有条件地报告错误:
rescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){ return $e instanceof SomeException;});
支持使用 Vite 预加载资源
Tim MacDonald 使用 Vite 预加载当前页面所需的资源。它现在是使用 Vite 的 Laravel 应用程序的默认行为。它如何工作的细节非常复杂,我建议阅读 Pull Request #44096. 此外,你还可以了解有关背后的一般概念的更多信息 预加载关键资源以提高加载速度.
查询构造器 RawValue方法
@eusonlito 贡献了 rawValue()
方法,支持使用SQL表达式来获取值。 以下是一些使用示例:
$first = TripModel::orderBy('date_at', 'ASC') ->rawValue('YEAR(`date_at`)');$last = TripModel::orderBy('date_at', 'DESC') ->rawValue('YEAR(`date_at`)');$fullname = UserModel::where('id', $id) ->rawValue('CONCAT(`first_name`, " ", `last_name`)');
发行说明
您可以在下方查看新功能和更新的完整列表,以及9.36.0 和 9.37.0之间的差异。以下发行说明来自 changelog:
v9.37.0
Illuminate/Mail/Mailables/Content::htmlString()
(#44703)v9.36.4
Illuminate/Filesystem/FilesystemAdapter::checksum()
(#44660)v9.36.3
Illuminate/Database/Eloquent/Model::offsetExists()
(#44642)v9.36.2
v9.36.1
原文地址:https://laravel-news.com/laravel-9-37-0
译文地址:https://learnku.com/laravel/t/72839
以上是最新的Laravel 9.37发布了,带来这些新变化!的详细内容。更多信息请关注PHP中文网其他相关文章!