Download the PHP package innoge/laravel-policy-soft-cache without Composer
On this page you can find all versions of the php package innoge/laravel-policy-soft-cache. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download innoge/laravel-policy-soft-cache
More information about innoge/laravel-policy-soft-cache
Files in innoge/laravel-policy-soft-cache
Package laravel-policy-soft-cache
Short Description This package helps prevent performance problems with frequent Policy calls within your application lifecycle.
License MIT
Homepage https://github.com/innoge/laravel-policy-soft-cache
Informations about the package laravel-policy-soft-cache
Laravel Policy Soft Cache Package
Optimize your Laravel application's performance with soft caching for policy checks. This package caches policy invocations to prevent redundant checks within the same request lifecycle, enhancing your application's response times.
Requirements
This package is compatible with , and PHP >= 8.1.
Installation
You can install the package via composer:
You can publish the config file with:
This is the contents of the published config file:
You can also use CACHE_ALL_POLICIES
in your .env
file to change it.
Usage
By default, this package caches all policy calls of your entire application. You can disable this behavior by setting the configuration to false. Now you can specify which Policy classes should be soft cached and which not. If you want your policy to be cached, add the interface.
For Example:
Clearing the cache
Sometimes you want to clear the policy cache after model changes. You can call the method.
Known Issues
Gate::before and Service Provider Load Order
When the innoge/laravel-policy-soft-cache
package is installed in an application that utilizes Gate::before
, typically defined in the AuthServiceProvider
, a conflict may arise due to the order in which service providers are loaded.
Resolution Steps
To resolve this issue, follow these steps:
-
Manual Service Provider Registration: Add
\Innoge\LaravelPolicySoftCache\LaravelPolicySoftCacheServiceProvider::class
to the end of theproviders
array in yourconfig/app.php
. This manual registration ensures that theLaravelPolicySoftCacheServiceProvider
loads after all other service providers, includingAuthServiceProvider
. -
Disable Auto-Discovery for the Package: To prevent Laravel's auto-discovery mechanism from automatically loading the service provider, add
innoge/laravel-policy-soft-cache
to thedont-discover
array in yourcomposer.json
. This step is crucial for maintaining the manual load order. - Reinstall Dependencies: After updating your
composer.json
, runcomposer install
to apply the changes. This step is necessary for the changes to take effect.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Tim Geisendörfer
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-policy-soft-cache with dependencies
spatie/laravel-package-tools Version ^1.13.0
illuminate/contracts Version ^9.0|^10.0|^11.0|^12.0