Laravel 8.75 发布
Laravel 团队发布了 8.75 按需拦截授权、PostgreSQL 全文索引实现、过滤非空数组值的能力以及 v8.x 分支的最新变化。
On-demand Gate Authorization
@Italo 贡献了按需拦截授权。 此更改允许拦截器根据条件permit或forbid一个程序,而不是使用拦截器来注册一次性能力或使用详细检查。
use Illuminate\Auth\Access\AuthorizationException;
use App\Models\Wallet;
// Before
$wallet = Wallet::find(1);
if ($wallet->overQuota()) {
throw new AuthorizationException("This action exceeds your cuota");
}
// After
$wallet = Wallet::find(1);
// 禁止动作...
Gate::forbid($wallet->overQuota(), "This action exceeds your cuota");
// 或允许一个动作
Gate::permit($wallet->underQuota(), "This action exceeds your quota");
PostgreSQL全文索引
Tobias Petry 让 PostgreSQL 支持了全文索引。目前,它支持单个列。 查看 Pull Request #39875 有关此功能和实现细节的评论。
过滤非空数组的值
@Saya 贡献了一个 Arr::whereNotNull()
方法,它可以从数组中过滤掉空值:
Arr::whereNotNull([null, 0, false, '', null, []]);
// returns [0, false, '', []]
添加了调度程序集成测试
Chris Morrell 贡献了调度程序集成测试,包括计划的回调和计划命令的覆盖范围。如果您想了解更多信息,请查看 Pull Request #39862.
发行说明
您可以在下面查看新功能和更新的完整列表以及 GitHub 上的差异 8.74.0 and 8.75.0 。 以下发行说明直接来自 changelog:
v8.75.0
新增
- 增加了
Illuminate/Support/Testing/Fakes/NotificationFake::assertSentTimes()
(667cca8) - 向 ComponentAttributeBag 添加了 Conditionable trait (#39861)
- 添加了调度程序集成测试 (#39862)
- 添加了 on-demand 拦截授权 (#39789)
- 添加了 countable interface 到 Eloquent 模型工厂序列中 (#39907, 1638472a, #39915)
- 为 PostgreSQL 添加全文索引 (#39875)
- 向 Arr 添加方法 filterNulls() (#39921)
修复
- 修复 AsEncrypted 特性不支持空列 (#39848, 4c32bf8)
- 修复了 http 客户端工厂类已知的存在的问题 (#39851)
- 修复了对不正确大小写的 Connection::rollBack() 调用 (#39874)
- 修复了在单元测试期间填充 Eloquent 模型时会保护列的错误 (#39880)
- 修复了使用 MSSQL 作为数据库时删除列的问题 (#39905)
已更改
- 向 sql server添加适当的分页偏移量 (#39863)
- 在 src/Illuminate/Pagination/resources/views/tailwind.blade.php 更正分页消息 (#39894)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: