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