laminas/laminas-cache-storage-adapter-session
Session-based cache storage adapter for Laminas Cache. Stores cached items in PHP sessions, useful for per-user caching and small transient data. Integrates with Laminas\Cache\Storage; suitable for apps already relying on session state.
illuminate/cache remains incompatible with PSR-16 by default, requiring abstraction (e.g., spatie/laravel-psr-cache).cache()->store('session') or array driver remains viable for simple cases, but this package still offers Laminas Cache’s advanced features (plugins, tags, events).spatie/laravel-psr-cache) to integrate with Laravel.getItem(), setItem(), etc.).| Risk Area | Assessment | Mitigation |
|---|---|---|
| Laminas-Laravel Gap | Unchanged. Still requires PSR-16 abstraction. | Evaluate spatie/laravel-psr-cache or build a custom facade. |
| Session Storage Limits | Unchanged. Sessions remain non-distributed by default. | Use Redis/Memcached for sessions alongside this adapter. |
| Performance Overhead | Unchanged. Session storage slower than Redis/Memcached. | Benchmark against Laravel’s native file/database drivers. Reserve for low-frequency, session-scoped caching. |
| Dependency Bloat | Updated: laminas/laminas-cache now explicitly tied to PHP 8.1–8.3. No additional bloat introduced. |
Justify use case vs. native Laravel alternatives. |
| Maintenance Burden | Increased: Laminas Cache’s slow release cycle (last release: 2024-01-08) + PHP version pinning may introduce technical debt if Laravel drops PHP 8.1 support. | Monitor Laravel’s PHP version policy. Plan for migration if Laravel enforces PHP 8.4+. |
SessionHandlerInterface?spatie/laravel-psr-cache (supports PSR-16 stores).Psr16CacheStore for Laravel’s Cache facade.SessionHandlerInterface. Laravel’s file/database drivers work; Redis/Memcached preferred.config/app.php uses PHP 8.1–8.3.$container->singleton(Laminas\Cache\Storage\Adapter\Session::class, function ($container) {
return new Laminas\Cache\Storage\Adapter\Session(
$container->make('session.store')->getHandler()
);
});
spatie/laravel-psr-cache).composer.json to enforce PHP 8.1–8.3:
"require": {
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
"laminas/laminas-cache-storage-adapter-session": "^2.5.0"
}
session driver).| Component | Compatibility | Notes |
|---|---|---|
| PHP Version | 8.1–8.3 (explicitly required). Laravel 10+ supports this. | Laravel 9.x may require downgrading to Laminas Cache v2.x (deprecated). |
| Laravel Cache Facade | Low (requires PSR-16 bridge). | Native Cache::store() won’t work directly. |
| Laravel Session Drivers | Medium (depends on SessionHandlerInterface support). |
file/database drivers work; Redis/Memcached are ideal. |
| Laminas Ecosystem | Low (Laminas is less active than Laravel). | Monitor for breaking changes in Laminas Cache. PHP version pinning adds risk if Laravel drops support for 8.1–8.3. |
spatie/laravel-psr-cache or custom facade.Laminas\Cache\Storage\Adapter\Session in Laravel’s container.How can I help you explore Laravel packages today?