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

2020-02-19 11:22:40 浏览数 (1)

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

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

1、重要特性

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

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

代码语言:javascript复制
// 将 "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();
代码语言:javascript复制

2)新增 ensureDirectoryExists 方法

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

代码语言:javascript复制
Filesystem::ensureDirectoryExists($path, $mode = 0755, $recursive = true);
代码语言:javascript复制

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

3)FTP 驱动支持 url 方法

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

你可以在 Github 上查看完整的新特性列表和更新日志:https://github.com/laravel/framework/blob/f0059760814b76fb5f98bb80628607c7560ebe58/CHANGELOG-6.x.md#v6130-2020-01-28,以及 6.12.0 和 6.13.0 的版本差异:https://github.com/laravel/framework/compare/v6.12.0...v6.13.0。

2、更新日志

1)新增特性
  • 新增 --api 选项到 make:model 命令
  • 新增 PendingResourceRegistration::shallow() 方法
  • 允许使用闭包格式化隐式属性验证消息
  • 新增 Filesystem::ensureDirectoryExists() 方法
  • Ftp 驱动支持 Storage::url() 方法
2)问题修复
  • 修复数据库迁移到 Sql Server 时遇到的问题(dropColumn 包含默认值)
  • 修复 handleBeginTransactionException() 方法自行调用合适的 PDO 而不是通过 getPdo() 方法返回
  • 修复通过 Redis 广播时的频道名称问题
  • 在验证之前替换星号
3)代码调整
  • 在新的队列工作者循环中重置超时处理器

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

0 人点赞