fm/cache
fm/cache is a Laravel/PHP package for working with application caching. It provides a framework-friendly way to integrate cache storage and management, helping keep repeated data access fast and organized in your projects.
Package identity and status. fm/cache is a Financial Media (treehouselabs lineage) cache abstraction for Laravel, MIT-licensed, last released 2014-05-16, archived upstream, and explicitly superseded by treehouselabs/cache. It has zero stars and zero dependents — there is no community, no field evidence of production use, and no downstream ecosystem to inherit bug fixes from.
Architecture fit. The package targets the Laravel 4.x / early 5.0 era (PHP 5.3–5.5 idioms, illuminate/support ~4.x–5.0 constraints, service-provider registration typical of that generation). Modern Laravel already ships Illuminate\Contracts\Cache\Repository, cache tags, atomic locks, cache events, and PSR-16 adapters via symfony/cache. Introducing fm/cache today would create a parallel caching abstraction that does not compose with the container bindings, Octane lifecycle, or cache event listeners an application already relies on. Fit for any supported Laravel version: poor to none.
Integration feasibility. Composer-installable in principle, but practical installation requires either --ignore-platform-reqs, a vcs repository entry, or a full fork — because the archived composer.json will not satisfy PHP 8.x or modern illuminate/* constraints. There is no visible CI, test suite, or documentation to validate behavior. Any integration therefore transfers ownership of the code to us on day one.
Technical risk. High across every axis: unmaintained (12+ years), no security-response channel, dependency rot against current PHP/Laravel, deprecated language constructs (each(), curly-brace array access, untyped signatures) that will fatal on PHP 8+, and no upgrade path authored by anyone but us. The supersession notice is the decisive signal — the original authors judged it unfit and replaced it.
Key questions.
treehouselabs/cache share the public API, and is it also archived?Stack fit. Only a legacy Laravel 4.x/5.0 codebase on PHP 5.x is a candidate. For Laravel 8+ or PHP 8+, there is no viable fit and the evaluation should terminate here.
Migration path. Sequence the decision, not the install:
Illuminate\Support\Facades\Cache plus a PSR-16 adapter (symfony/cache) for framework-agnostic code.treehouselabs/cache first; if it is also archived, treat the successor as equally unsupported and skip it.fm/cache, hide it behind an internal CacheGateway interface so the implementation is swappable without touching call sites.Compatibility. Expect to fork and patch: PHP 8 compatibility (typed signatures, removed functions, string-offset syntax), updated illuminate/* constraints, and PSR-4 autoload verification. Budget a spike of roughly half a day to confirm the package even boots under the target runtime before committing to any plan.
Sequencing. (a) Timeboxed spike in an isolated branch — confirm autoload, container binding, and a read/write round-trip; (b) wrap behind an internal interface; (c) ship only to the legacy path, never to new code; (d) schedule replacement within one to two sprints and track it as technical debt with an owner and a date.
Maintenance. Zero upstream maintenance — the repository is archived, so no PRs, no releases, no CVE intake. We become the de facto maintainer of a fork. Budget roughly one to three engineer-days per year for PHP/Laravel upgrade patches, plus unbounded incident time if a cache-layer defect surfaces in production.
Support. No vendor, no maintainer, no community (0 stars, 0 dependents means no Stack Overflow corpus and no peer debugging). Institutional knowledge will be confined to whoever reads the source; that is a single-point-of-failure risk that must be mitigated with an internal README and a named owner.
Scaling. The package is a thin abstraction, so throughput and memory characteristics are inherited from whatever driver sits underneath. What it does not provide is observability — no hit/miss metrics, no tracing hooks, no structured logging. Any capacity planning or SLO on cache hit rate must be instrumented at the adapter layer we write ourselves.
Failure modes. Silent cache misses returning null and degrading to origin load; serialization-format drift across deploys producing stale or unreadable entries; autoload/namespace collisions with newer Illuminate cache classes; hard fatals on PHP upgrade; and absent security patching, which is the highest-severity exposure given cache layers often hold session or serialized payload data.
Ramp-up. Low to learn the API surface (it is small), high to reconstruct intent and edge-case behavior from 2014 source. Onboarding cost is front-loaded documentation work we must author. Net recommendation: do not adopt; if a legacy dependency forces it, isolate behind an interface, timebox the exposure, and fund the replacement now rather than after the next PHP upgrade.
How can I help you explore Laravel packages today?