rickselby / laravel-gate-cache
为Laravel的Gate添加请求级别的缓存层
3.8.0
2024-03-14 12:27 UTC
Requires
- illuminate/auth: 10.*|11.*
- illuminate/contracts: 10.*|11.*
Requires (Dev)
- graham-campbell/testbench: ^6.1
- phpunit/phpunit: ^10.0
README
为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)。