Looking to hire Laravel developers? Try LaraJobs

laravel-gate-cache maintained by rickselby

Description
Add a per-request caching layer to Laravel's Gate
Author
Last update
2025/11/22 09:00 (dev-dependabot/composer/phpunit/phpunit-tw-12.4.4)
License
Links
Downloads
126 742

Comments
comments powered by Disqus

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).