iprodev/php-easycache
A lightweight, easy-to-use caching library for PHP that simplifies storing and retrieving cached data through a clean API. Ideal for small projects needing straightforward caching without extra complexity, with Composer installation and minimal setup.
v3.0.2 is a maintenance/patch release: no new public features and no apparent breaking changes. Upgrade normally, then run your cache integration tests.
Start by checking:
composer.json for PHP/Laravel version constraints. This release targets PHP 8.1 compatibility via PHPUnit ^10.MultiTierCache::readThrough(), EasyCache, and Lock.src/Laravel for Laravel service-provider/config integration, noting it is excluded from the package’s PHPStan config.First practical use case: use MultiTierCache::readThrough() to cache an expensive query/API call, and use Lock around the cache-fill path to prevent cache stampedes.
MultiTierCache::readThrough() for hot data where you want the package to handle cache misses and repopulation. v3.0.2 fixes comparison type errors here with explicit int casts, so keep return types consistent if you subclass.EasyCache wrapper when you want Laravel-friendly access. MultiTierCache is no longer final, so extension/wrapping is supported, but prefer composition unless you need to override behavior.Lock, re-check the cache, populate it, and release in finally. The v3.0.2 fix makes Lock::release() safe when called more than once, including from __destruct() after manual release.finally, and set sensible TTLs so a crashed process cannot hold a lock forever.MultiTierCache being non-final is intentional for EasyCache wrapping/extension. If you subclass it, preserve readThrough() return semantics and integer handling.src/Laravel is excluded from PHPStan because it needs Laravel dependencies. Run Laravel-specific tests and static analysis in your application context.failOnWarning is disabled in the package’s PHPUnit config to avoid optional-extension warnings failing CI. In your own app CI, consider enabling warnings so real environment issues are not hidden.TypeError, reproduce with manual release plus destructor release. After upgrading, verify no code depends on the old failure behavior.checkMissingIterableValueType and checkGenericClassInNonGenericObjectType.How can I help you explore Laravel packages today?