Laravel 6.13.0 版本发布,允许对隐式属性验证消息进行格式化


Laravel 开发团队本周发布了 v6.13.0 版本,支持对隐式验证属性错误消息进行格式化,并且新增了一个 ensureDirectoryExists() 文件系统方法。

下面我们一起来看看一些重要的新特性:

重要特性

允许格式化隐式属性验证消息

从 Laravel 6.13.0 开始,支持在验证器中为隐式属性配置自定义错误消息格式:

// 将 "0.age must be an integer" 这种错误消息格式调整为
// "age at line 1 must be an integer"
validator(
    [['age' => 'thirty']],
    ['*.age' => 'integer']
)->setImplicitAttributesFormatter(function ($attribute) {
    [$line, $attribute] = explode('.', $attribute);

    return sprintf('%s at line %d', $attribute, $line + 1);
})->validate();

新增 ensureDirectoryExists 方法

文件系统类新增了一个 ensureDirectoryExists() 方法:

Filesystem::ensureDirectoryExists($path, $mode = 0755, $recursive = true);

该方法会在目录不存在时创建这个目录。

FTP 驱动支持 url 方法

Storage::url() 现在已经支持 FTP 驱动。

你可以在 Github 上查看完整的新特性列表和更新日志,以及 6.12.0 和 6.13.0 的版本差异

更新日志

新增特性

  • 新增 --api 选项到 make:model 命令(#31197#31222
  • 新增 PendingResourceRegistration::shallow() 方法(#31208104c539
  • 允许使用闭包格式化隐式属性(#31246
  • 新增 Filesystem::ensureDirectoryExists() 方法(8a8eed4
  • Ftp 驱动支持 Storage::url() 方法(#31258b8790e5

问题修复

  • 修复数据库迁移到 Sql Server 时遇到的问题(dropColumn 包含默认值)(#31229
  • 修复 handleBeginTransactionException() 方法调用合适的 PDO 而不是通过 getPdo() 方法返回 PDO(#31233
  • 修复通过 Redis 广播时的频道名称问题(#31261
  • 在验证之前替换星号(#31257

代码调整

  • 在新的队列工作者循环中重置超时处理器(#31198

声明:本文翻译整理自 Laravel News


Vote Vote Cancel Collect Collect Cancel

<< 上一篇: Laravel 6.14.0 版本发布,支持在响应发送后执行任务

>> 下一篇: Laravel 6.12.0 版本发布,支持从扩展包加载模型工厂