Laravel 9.39版本发布

2023-06-01 00:00:00 laravel 版本 发布

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

相关文章