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()方法(#31208、104c539) - 允许使用闭包格式化隐式属性(#31246)
- 新增
Filesystem::ensureDirectoryExists()方法(8a8eed4) - Ftp 驱动支持
Storage::url()方法(#31258、b8790e5)
问题修复
- 修复数据库迁移到 Sql Server 时遇到的问题(dropColumn 包含默认值)(#31229)
- 修复
handleBeginTransactionException()方法调用合适的 PDO 而不是通过getPdo()方法返回 PDO(#31233) - 修复通过 Redis 广播时的频道名称问题(#31261)
- 在验证之前替换星号(#31257)
代码调整
- 在新的队列工作者循环中重置超时处理器(#31198)
声明:本文翻译整理自 Laravel News。
No Comments