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>
你可以只渲染动作片段,如下所示:
view('users.profile', $data)->fragment('actions');
在集合的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(),用来检查一个特定的表是否没有条目。
它是断言数据库计数为零的一个捷径:
// Using count
$this->assertDatabaseCount(MyModel::class, 0);
// Using the new assertion in v9.39
$this->assertDatabaseEmpty(MyModel::class);
发布说明
你可以在GitHub上看到以下完整的新功能和更新列表以及9.38.0和9.39.0之间的差异。
下面的发行说明直接来自更新日志:
https://github.com/laravel/framework/compare/v9.38.0...v9.39.0
https://github.com/laravel/framework/blob/c3ed678c5019979bfe076b904b7b94bbdd063a9d/CHANGELOG.md#v9390---2022-11-08
v9.39.0
已添加
为Blade添加了模板片段(#44774)。
为Collection的dd方法输出添加了源文件(#44793, d2e0e85)。
已添加 Illuminate/Support/Testing/Fakes/PendingBatchFake::dispatchAfterResponse() (#44815)
新增 Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::assertDatabaseEmpty() (#44810)
修正了
修正了InteractsWithContainer::withoutMix() (#44822)
已更改
更新UpCommand::handle,必须返回int (#44807)
将数据库组件与控制台组件解耦 (#44798)
改进命令的输入参数解析(#44662, #44826)
为BusServiceProvider中的provid()添加了DatabaseBatchRepository (#44833)
将可重复使用的onNotSuccessfulTest功能移至TestResponse(#44827)。
在Vite reactRefresh内联脚本中添加CSP nonce (#44816)
允许路由组方法被链起来 (#44825)
从SerializesModels特性中删除__sleep()和__wakeup()。(#44847)
在Illuminate/Database/Console/DatabaseInspectionCommand::getSqliteTableSize()中处理没有启用ENABLE_DBSTAT_VTAB的SQLite (#44867)
在Illuminate/Queue/Listener中必要时应用强制标志(#44862)。
将控制台组件与框架脱钩(#44864)。
更新Vite模拟,为预装资产返回空数组(#44858)
转:
https://laravel-news.com/laravel-9-39-0
相关文章