rickselby/laravel-gate-cache

为Laravel的Gate添加请求级别的缓存层

3.8.0 2024-03-14 12:27 UTC

This package is auto-updated.

Last update: 2024-09-03 07:24:58 UTC


README

Software License Packagist Version

为Laravel的Gate添加请求级别的缓存层。

安装

使用 Composer 安装项目

$ composer require rickselby/laravel-gate-cache

Laravel将自动发现该包。

使用场景

如Reddit上讨论的 讨论 - 多次调用Gate方法会导致底层代码被重新执行。以下是一个伪blade代码示例:

@foreach($posts as $post)
    @can('add_posts') BUTTON @endcan
    @can('edit_posts') BUTTON @endcan
    @can('delete_posts') BUTTON @endcan
@endforeach

通常,每个权限检查会根据帖子数量多次调用。使用此包后,它们只会调用一次;其结果将被缓存,以便后续调用。

请注意,这仅限于请求级别。每个请求将测试每个权限一次...但只测试一次。

许可证

Laravel Form Components采用MIT许可证(MIT)