Laravel 9.39 发布
Laravel 团队本周发布了 9.39,其中包含 Blade 模板片段、打印集合时显示来源文件、空数据库断言等。
Blade 模板片段
Bruno Alod 提供了 Blade 模板片段,用于渲染部分视图。 片段对于期望 HTML over-the-wire 的前端框架很有帮助,其中 AJAX 响应应该只返回视图的一部分。
参考以下 Blade 模板:
<div>
First Name {{ $firstName }}
Last Name: {{ $lastName }}
@fragment('actions')
<div hx-target="this">
@if($enabled)
<button hx-patch="/mark-as-disabled">Mark as Disabled</button>
@else
<button hx-patch="/mark-as-enabled">Mark as Enabled</button>
@endif
</div>
@endfragment
</div>
按如下方式渲染 actions
片段:
view('users.profile', $data)->fragment('actions');
将源文件添加到 Collection dd() 调用
Hasyirin Fakhriy 贡献了在集合中使用 dd()
时的显示源文件路径。 在最近的 Laravel 版本中,dd()
和dump()
调用已经开始包含路径跟踪,以明确哪个文件正在转储输出。 此更新的目标是集合也可以从该工作中受益:
Collection::make([
'version' => App::version(),
])->dd();
/*
array:1 [▼ // routes/web.php:19
"version" => "9.39.0"
]
*/
断言数据库是否为空
Christoph Rumpel 贡献了一个assertDatabaseEmpty()
,它检查特定表是否没有条目。 这是断言数据库计数为零的快捷方式:
// 使用 count
$this->assertDatabaseCount(MyModel::class, 0);
// 使用断言在新版本 v9.39
$this->assertDatabaseEmpty(MyModel::class);
发行说明
在 Github 查看新功能和更新的完整列表以及 [9.38.0 和 9.39.0] 之间的差异](github.com/laravel/framework/compa...)。 以下发行说明直接来自 changelog:
v9.39.0
新增
- 新增 Blade 模板片段 (#44774)
- 新增 源文件输出集合的
dd()
方法 (#44793, d2e0e85) - 新增
Illuminate/Support/Testing/Fakes/PendingBatchFake::dispatchAfterResponse()
(#44815) - 新增
Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::assertDatabaseEmpty()
(#44810)
修复
- 修复
InteractsWithContainer::withoutMix()
(#44822)
更新
- 更新
UpCommand::handle
必须返回整形 (#44807) - 将数据库组件与控制台组件解耦 (#44798)
- 改进命令的输入参数解析 (#44662, #44826)
- 在 BusServiceProvider 中的 providers() 中添加了 DatabaseBatchRepository (#44833)
- 将可重用的 onNotSuccessfulTest 功能移至 TestResponse (#44827)
- 将 CSP 随机数添加到 Vite reactRefresh 内联脚本 (#44816)
- 允许链接路由组方法 (#44825)
- 从 SerializesModels 特征中删除 sleep() 和 wakeup()。 (#44847)
- 在未启用 ENABLE_DBSTAT_VTAB 的情况下处理 SQLite
Illuminate/Database/Console/DatabaseInspectionCommand::getSqliteTableSize()
(#44867) - 必要时应用强制标志 in
Illuminate/Queue/Listener
(#44862) - 从框架中解耦控制台组件 (#44864)
- 更新 Vite 模拟以返回预加载资源的空数组 (#44858)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: