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()
方法:
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。