Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Apc Bundle Laravel Package

ornicar/apc-bundle

Ornicar APC Bundle integrates Alternative PHP Cache (APC) with Symfony applications, providing cache services and tools to store, retrieve, and clear cached data. It helps speed up PHP apps by reducing repeated computations and database queries.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Cache strategy standardization: Forces an explicit product decision on what the caching layer is for — page/query acceleration versus distributed data storage — and whether APCu-class local memory caching belongs in the architecture at all. Recommendation: standardize on Laravel's cache abstraction with Redis or database drivers for anything shared, and treat local opcode/user cache as an optimization detail, not a platform bet.
  • Build vs. buy vs. replace: Strong replace signal. The package is explicitly unmaintained, points to Smart-Core/AcceleratorCacheBundle as its successor, and has 0 dependents. There is no case for building product functionality on it, and only a time-boxed case for retaining it in an inherited Symfony estate.
  • Roadmap scoping: This is a Symfony 2.x bundle, not a Laravel package, and it wraps the original APC extension — removed in PHP 7+. It should not appear as a feature enabler on a Laravel roadmap. It appears, if at all, as a dependency-risk or migration line item with a budget and an owner.
  • Technical-debt prioritization: If inherited in a legacy Symfony app, it becomes a named backlog item: inventory cached keys and TTLs, remove APC-specific calls, migrate to symfony/cache or Laravel's Cache facade, and set a deprecation date. Success is measured by maintenance burden removed, not features shipped.
  • Deployment and reliability requirements: The package's core failure mode — CLI and web SAPIs not sharing APC unless apc.enable_cli=1 — surfaces as silent cold caches and "old code still running after deploy" bugs. PMs can use this to justify requirements that are product-visible: deterministic cache invalidation on deploy, cache-key versioning, and graceful fallback when the cache extension is absent.
  • Vendor/package evaluation rubric: A useful cautionary benchmark. When weighing any cache library, maintenance status, supported PHP versions, dependent ecosystem, and a documented replacement path should outweigh minor integration convenience — especially for revenue-critical, regulated, or high-traffic workloads.
  • Risk register input: Abandonment, zero ecosystem validation, APC-vs-APCu confusion, per-host cache silos that break horizontal scaling, memory fragmentation under churn, and breakage on PHP/Composer upgrades. Each maps to a mitigation, an owner, and a review date.

When to Consider This Package

Consider it only under narrow, inherited, time-boxed conditions:

  • An existing legacy Symfony application already depends on it and cannot be upgraded within the current release window.
  • The runtime still has the original APC extension loaded (PHP < 7), and the app's caching is genuinely non-critical and easily bypassed.
  • Migration cost exceeds short-term risk for an internal, low-traffic, non-critical app with a funded replacement plan and a deprecation date.
  • You need a temporary compatibility pin while a migration to Smart-Core/AcceleratorCacheBundle or symfony/cache is sequenced — isolate it behind an application-level cache interface so removal is a one-line swap.

Look elsewhere — by default — when:

  • Building any new Laravel or Symfony application. Use Laravel's native cache drivers (Redis, database, file, array) or Symfony's maintained cache components.
  • The runtime is PHP 7+ and APCu, Redis, or Memcached is available; the original APC extension is simply gone and the bundle is dead code.
  • The cache layer supports revenue-critical, regulated, high-traffic, or multi-node workloads — APCu is per-process shared memory, so cache hits vary by node and invalidation is not centrally coordinated.
  • The roadmap depends on supported security updates, current PHP/Laravel compatibility, or long-term vendor ownership.
  • You would need a compatibility shim, custom cache store, or PSR-16 bridge to make a Symfony bundle behave like a Laravel package — that integration cost buys you nothing a native driver doesn't already provide.
  • The team lacks Symfony legacy expertise and cannot absorb or own a fork. If the fork question has no named owner, that is the answer: don't adopt.

Decision rule for the PM: new adoption request → decline; existing dependency → contain, instrument, and schedule removal.

How to Pitch It (Stakeholders)

Executives: Recommend no new investment. This package is unmaintained, has zero ecosystem dependents, targets a PHP extension removed in PHP 7+, and carries more ownership risk than product value. If it exists in a legacy estate, approve a small migration budget toward a maintained cache backend rather than funding a fork. Frame it as risk reduction and technical-debt retirement — a cost-avoidance and deploy-reliability story, not a feature initiative. The measurable outcome is fewer maintenance hours and unsupported-code exposure retired.

Engineering: Treat this as a legacy compatibility artifact, not a library to build on. Prefer the maintainer-recommended successor, Smart-Core/AcceleratorCacheBundle, or go straight to symfony/cache / Laravel's Cache facade. Do not patch the vendor tree — forks and PRs are not being merged, so put any fixes in an application-level decorator behind an AppCache interface; that seam is the entire migration path and costs almost nothing now. Verify per-SAPI php.ini settings, apc.enable_cli, and PHP version compatibility before any pilot, and add monitoring plus a rollback plan for silent cache misses. Avoid it for sessions, queues, locks, or cross-node coordination. If a fork is unavoidable, time-box it, name an owner, and set a removal date.

Product managers: Do not add this to the roadmap as a capability. Add it only as a dependency-risk or migration item with an owner and a deprecation date. The questions to answer are product questions, not implementation questions: which user-visible latency problem is the cache meant to solve, is the deployment single-node or multi-node, and what happens to the experience when the cache is cold or unavailable? Measure success by reduced maintenance burden, supported PHP and framework compatibility, and removal of APC-specific code — not by feature delivery.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core