Laravel 8.74 发布

Laravel团队发布了8.74版本,其中包括对调试模式的检查、事件fakeExcept()方法、迁移中的MySQL全文索引支持以及v8.x分支中的最新更改。

Prune 命令添加了排除参数

Jochen Sengier 贡献了 --except 参数, 它接受要从修剪中排除的模型的类名列表。 下面是一个来自pull请求的编程示例:

$schedule->command('model:prune', [
    '--exclude' => [Test::class, Example::class],
])->daily();

检查调试模式

Joel Mellon 贡献了一个 hasDebugModeEnabled() 方法,以确定应用程序是否在调试模式下运行:

if (App::hasDebugModeEnabled()) {
    // ...
}

##事件 “Fake Except” 方法

Jeffrey Angenent 贡献了一个 fakeExcept() 方法,它用假冒替换绑定实例,以伪造除给定事件以外的所有事件:

Event::fakeExcept([
    NonImportantEvent::class,
    'non-fake-event',
]);

数组 「undot」 方法

Amir RamiArrCollection 贡献了一个 undot() 方法, 这与 Arr::dot() 相反. 它可以将一个扁平数组转换为基于虚线键的多维数组:

 $original = [ 
     'user' => [
        'name' => 'foo', 
        'occupation' => 'bar',
    ]
];
$dotted = Arr::dot($original);

// 结果是...
$dotted = [
    'user.name' => 'foo',
    'user.occupation' => 'bar',
];

// 将其转换回原始形式
Arr::undot($dotted);

字符串反转方法

@netpokStr and Stringable 类提供了一个 reverse() 方法, 用于反转字符串(包括对多字节字符串的支持):

$this->assertSame('FooBar', Str::reverse('raBooF'));
$this->assertSame('Teniszütő', Str::reverse('őtüzsineT'));
$this->assertSame('❤MultiByte☆', Str::reverse('☆etyBitluM❤'));

MySQL的全文索引

Taylor Otwell 提供了mysql 迁移创建全文索引的能力,未来可能会扩展到 postgres 。

发行说明

您可以在 GitHub 上查看下面的完整新增功能和更新列表以及 8.73.0 and 8.74.0 的区别。 以下发行说明直接来自 changelog

v8.74.0

新增

  • 新增可选的 except 参数到 PruneCommand (#39749, be4afcc)
  • 新增 Illuminate/Foundation/Application::hasDebugModeEnabled() (#39755)
  • 新增 Illuminate/Support/Facades/Event::fakeExcept()Illuminate/Support/Facades/Event::fakeExceptFor() (#39752)
  • Eloquent passthru 新增了聚合方法(#39772)
  • 新增 undot() 辅助函数 (#39729)
  • 新增 Str 中的 reverse 方法 (#39816)
  • 增加了使用 databaseType 方法自定义数据库通知中的类型列的可能性 (#39811)
  • 新增全文索引 (#39821)

修复

  • 修复了在框架外部加载时的总线服务提供程序 (#39740)
  • 修复空驱动程序不存在时的日志记录弃用问题 (#39809)

更改

  • 在解析队列连接之前验证连接名称 (#39751)
  • 将 Symfony 转移到5.4 (#39827)
  • 优化唯一方法的执行时间 (#39822)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-8-74-0?...

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

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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