Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 1.39 KB

README.md

File metadata and controls

45 lines (31 loc) · 1.39 KB

Laravel Gate Cache

Software License Packagist Version

Add a per-request caching layer to Laravel's Gate.

Laravel Auto Presenter Mapper Laravel
3.x 5.5-11.x
2.x 5.5-5.8
1.x 5.5-5.7

Installing

Require the project using Composer:

$ composer require rickselby/laravel-gate-cache

Laravel will auto-discover the package.

Use Case

As discussed on reddit - multiple calls to Gate methods result in the underlying code being re-run. Take this pseudo-blade-code, for example:

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

Normally, each permission check would be called as many times as there are posts. With this package, they will only be called once; their results will be cached for any further calls.

Note that this is per-request only. Each request will test each permission once... but only once.

License

Laravel Form Components is licensed under The MIT License (MIT).