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() 方法 (#44793d2e0e85)
  • 新增 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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-9-39-0

译文地址:https://learnku.com/laravel/t/73145

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!