laravel
团队在这周发布了 9.37 版本并且同时在 9.37 与 laravel 9.36 之间发布了一些补丁。本周得发布添加了对使用 vite 预加载资源的支持,新的严格违规处理程序,cli输出详细的视图缓存,以及更多。
Verbose 视图缓存
Andrew Brown 贡献了在
命令中传递
的功能,以输出命令正在查找的目录,以及通过
来查看命令缓存中的每个文件。【相关推荐:
laravel视频教程
】
这是一个例子,你会看到新安装的 Laravel 9.37 的情况:
处理静默丢弃与属性丢失的方法
Aaron Francis 提供了为“静默丢弃”和“缺少属性”严格模式冲突注册处理程序的功能:
传递救援报告参数的闭包
@foremtehan 贡献了在使用
时将可调用对象作为
参数传递,以便你可以根据返回的布尔值有条件地报告错误:
支持使用 Vite 预加载资源
Tim MacDonald 使用 Vite 预加载当前页面所需的资源。它现在是使用 Vite 的 Laravel 应用程序的默认行为。它如何工作的细节非常复杂,我建议阅读 Pull Request #44096. 此外,你还可以了解有关背后的一般概念的更多信息 预加载关键资源以提高加载速度.
查询构造器 RawValue方法
Laravel 13.2.0
PHP中文网提供Laravel 13.2.0版本下载,Laravel框架 是基于 PHP 8.3+ 的高性能框架,官方推荐通过 Composer 安装。它内置 AI SDK、JSON:API Resources 及原生向量搜索,支持属性驱动开发与队列路由,大幅提升开发效率。相比旧版,13.2.0 优化了缓存 TTL 管理与实时通信,无需 Redis 即可横向扩展。作为现代 Web 开发首选,它兼顾安全与极速体验,助您快速构建企业级应用。
下载
@eusonlito 贡献了
方法,支持使用SQL表达式来获取值。 以下是一些使用示例:
发行说明
您可以在下方查看新功能和更新的完整列表,以及9.36.0 和 9.37.0之间的差异。以下发行说明来自 changelog:
v9.37.0
添加
添加视图缓存时的可选详细输出 (#44673)
允许传递闭包以挽救 $report 参数 (#44710)
支持使用 Vite 预加载资源 (#44096)
添加
(#44703)
修复
修复 model:show 注册 getAttribute() 作为空访问器 (#44683)
修复 PendingCommand 中输出断言的预期 (#44723)
v9.36.4
添加
为数据库查询生成器添加了原始值(并作为包装器雄辩) (#44631)
添加 TransactionCommitting (#44608)
添加 dontIncludeSource 到 CliDumper 和 HtmlDumper (#44623)
添加
(#44660)
添加用于静默丢弃和缺少属性冲突的处理程序 (#44664)
恢复
恢复 “允许在没有 id 的模型上使用 MustVerifyEmail 作为主key” (#44672)
更改
克隆请求时创建新的 Json 参数包实例 (#44671)
防止在运行 env:decrypt 时启动提供程序 (#44654)
v9.36.3
恢复
还原 view 事件的微优化 (#44653)
修复
修复了边栏选项卡,清除视图缓存 view:clear (#44643)
修复
(#44642)
忽略组件的缓存和测试之间的工厂 (#44648)
更改
Bump Testbench 依赖关系 (#44651)
v9.36.2
修复
确保在*存在时调用视图创建者和合成器 (#44636)
v9.36.1
修复
修复使用 createBladeViewFromString 的 livewire 组件 (#pull)
原文地址:https://laravel-news.com/laravel-9-37-0
译文地址:https://learnku.com/laravel/t/72839
view:cache-v-vvphp artisan view:cache -vvModel::handleMissingAttributeViolationUsing(
function ($model, $key) {
// ...
});Model::handleDiscardedAttributeViolationUsing(
function ($model, $keys) {
// ...
});rescue()$reportrescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){
return $e instanceof SomeException;});rawValue()$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`)');Illuminate/Mail/Mailables/Content::htmlString()Illuminate/Filesystem/FilesystemAdapter::checksum()Illuminate/Database/Eloquent/Model::offsetExists()