- What is iprodev/php-easycache used for in Laravel?
- It is a lightweight, file-based PHP caching library that speeds up repeated API calls with per-key TTLs, automatic cleanup, key sanitization, thread-safe writes, and optional compression. In v3.0.2 the package also includes a Laravel/PHP cache and locking abstraction with MultiTierCache, an EasyCache wrapper, and Lock lifecycle handling that reduces risk in destructor and double-release paths. It suits applications that need straightforward caching without extra complexity, while teams should confirm the supported Laravel integration contract.
- How do I install iprodev/php-easycache with Composer?
- Install it with Composer using composer require iprodev/php-easycache and follow the minimal setup described for the package. If you use the Laravel integration layer, validate service-provider registration and configuration keys in your target Laravel version because the v3.0.2 notes do not describe the full v3 migration path and exclude src/Laravel from PHPStan. Run the package test suite and a small integration test before relying on it in production.
- Which Laravel and PHP versions does iprodev/php-easycache support?
- The v3.0.2 release notes do not state Laravel version compatibility, so confirm the supported Laravel matrix for your application before upgrading. Runtime compatibility appears centered on PHP 8.1 or newer based on the PHPUnit downgrade to ^10.0 for PHP 8.1 compatibility. The dev toolchain also uses a PHPUnit 10.5 schema and disables failOnWarning, which may affect CI pipelines.
- Is Lock::release() idempotent in iprodev/php-easycache v3.0.2?
- The v3.0.2 Lock::release() fix reduces a real runtime TypeError risk in destructor and double-release paths. The release notes do not explicitly state that Lock::release() is now contractually idempotent, so treat the behavior as improved but confirm it with focused tests. Add tests for manual release followed by __destruct() release and for repeated release calls in your application.
- Can I safely extend MultiTierCache or EasyCache in v3.0.2?
- The removal of final from MultiTierCache suggests an intended extension point for wrappers such as EasyCache, but you should confirm this is a supported public extension contract rather than an internal accommodation. Removing final is non-breaking for consumers, but it expands the supported surface area and subclassing risk. Add focused tests for EasyCache and MultiTierCache subclassing plus read-through cache value type behavior before relying on custom subclasses.
- What cache stores and lock backends are covered by iprodev/php-easycache integration tests?
- The v3.0.2 release notes do not enumerate which cache stores or lock backends are covered by integration tests. The technical assessment flags Laravel wiring, cache and lock backend behavior, and optional Predis paths as areas to validate in your own environment. Run application integration tests against your target Laravel and PHP matrix, then deploy to staging with cache and lock telemetry before a production canary.
- Why is src/Laravel excluded from PHPStan in iprodev/php-easycache v3.0.2?
- The exclusion is identified as a quality-assurance gap because the Laravel framework integration layer is not statically analyzed in this release. No compensating control is stated, so Laravel service-provider and configuration behavior should be validated by tests. Pin versions, add integration coverage for your Laravel wiring, and track upstream releases for changes to this exclusion.
- How should I test iprodev/php-easycache in a Laravel application?
- Start by running the package test suite and your application integration tests against the target Laravel and PHP matrix. Add focused tests for double lock release, destructor-driven release, EasyCache and MultiTierCache subclassing, and read-through cache type behavior. Then deploy to staging with cache and lock telemetry, followed by a production canary or phased rollout, avoiding unrelated cache backend changes in the same release.
- Is iprodev/php-easycache a good alternative to Laravel's native cache and lock features?
- Evaluate whether the package adds necessary multi-tier cache layering and lock semantics or duplicates native Laravel cache and lock features for your use case. The v3.0.2 patch does not appear to force architectural change, and the blurb positions it for small projects needing straightforward caching without extra complexity. Teams already using Laravel cache abstractions should compare behavior, supported backends, and maintenance risk before adopting it.
- What is the maintenance and support policy for iprodev/php-easycache v3.x?
- Patch maintenance burden is described as low because the v3.0.2 release mostly fixes tooling and a lock lifecycle bug. Ongoing maintenance risk comes from the broadened extension surface after removing final and from the PHPStan exclusion of Laravel integration code. Pin versions, track upstream releases, and confirm the v3.x support policy directly because the assessment notes improved supportability for double-release lock scenarios and PHP 8.1 but does not give a formal policy.