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

Feature Toggle Bundle Laravel Package

fintem/feature-toggle-bundle

A PHP feature toggle bundle for managing feature flags in your application, letting you enable or disable features at runtime without redeploying code. Configure toggles centrally to support gradual rollouts, A/B tests, and safer releases across environments.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor, and the framing is wrong. The brief describes this as a "Laravel/PHP package," but the artifact is packaged as a Symfony bundle (FeatureToggleBundle, vendor fintem). That naming and packaging convention implies a Symfony bundle class, a DI extension, a compiler pass, and a config tree — none of which have any meaning in Laravel's service-provider/container model. For a Laravel codebase the integration cost is not "install and configure," it is "reimplement the concept." For a Symfony codebase the conceptual fit is fine, but the era is wrong: a last release of 2018-09-04 places it in the Symfony 3.x/4.0 and PHP 7.1/7.2 window, which is now several major versions behind.

Integration feasibility — low. Three stars, zero dependents, and a composite score of 0.145 describe a package with essentially no production evidence behind it. Zero dependents is the decisive signal: nobody in the ecosystem has published anything that depends on this, so there is no downstream pressure to keep it working, no compatibility patches, and no informal support network. Whatever feature-flag semantics it implements (annotation-driven toggles on controllers/services, config-declared flags, or a storage-backed variant — this needs verification) are cheap to reproduce in-house in a few hundred lines.

Technical risk — high, concentrated in abandonment.

Risk Severity Note
Unmaintained since 2018 High ~7 years without a release; no security response path
PHP 8.x incompatibility High Curly-brace string offsets, dynamic properties, and reflection deprecations all post-date the release
Symfony version pin High Composer constraints will likely block framework upgrades or force --ignore-platform-reqs hacks
Doctrine annotations dependency Medium doctrine/annotations is itself in maintenance-only status; annotation-driven flags compound the rot
Bus factor High Single small vendor, no visible community, no CLA/governance
License ambiguity Medium Must be confirmed before any vendoring or forking

Key questions to resolve before any spike:

  1. What is the license, and does it permit an internal fork and redistribution inside our estate?
  2. What PHP and Symfony version constraints does composer.json declare, and does it install cleanly on our target runtime at all?
  3. How are flags evaluated — annotations/reflection, compiled config, or a database table? This determines both performance and migration difficulty.
  4. Does it support percentage rollouts, user/tenant targeting, or an audit trail, or is it boolean-only?
  5. Is there a maintained fork or successor? Is the vendor still reachable?
  6. What is the failure default — does an undefined or unevaluable flag fail open or closed?

Integration Approach

Stack fit. If the target is Laravel: do not integrate. The correct move is to treat this repository as a design reference, not a dependency, and implement flags against Laravel's own primitives (config, cache, a Feature facade, or Laravel Pennant if the framework version supports it). If the target is Symfony: integration is possible but only via a fork, and only after the PHP/Symfony constraint audit in the key questions above.

Migration path. Preserve the concept, not the code. Define an internal FeatureFlag interface — isEnabled(string $flag, ?Context $ctx): bool — owned by us, with the toggle resolution and any targeting logic behind it. Then either (a) write a thin native implementation, or (b) if a Symfony deployment genuinely needs the bundle's annotation ergonomics, vendor a patched fork behind that interface so it is replaceable in one file. This converts an unmaintained transitive dependency into a bounded, swappable adapter, which is the only defensible way to carry a 2018 artifact forward.

Compatibility work to budget for. PHP 8 compatibility shims, removal or replacement of doctrine/annotations in favour of PHP 8 attributes, Composer constraint widening, and a test suite — the package almost certainly ships none that run on a modern matrix.

Sequencing.

  1. Confirm target framework and runtime version; if Laravel, stop here and close the evaluation as "reference only."
  2. Timeboxed spike (1–2 days): composer require on a scratch branch, attempt install, attempt one flag evaluation end-to-end. This is a go/no-go gate, not a commitment.
  3. If the spike fails — the likely outcome — fall back to native implementation and reuse the bundle's API surface as the naming convention.
  4. If the spike passes, fork under the org, pin the fork in composer.json by VCS reference, and add CI on our PHP matrix.
  5. Instrument basic evaluation metrics (flag reads, cache hit rate) before wide rollout.

Operational Impact

Maintenance. Ownership transfers to us on day one. There is no upstream to file issues against and no release cadence to track. Budget for an internal fork with a named maintainer, dependency scanning in CI, and a quarterly review to decide whether the fork still earns its place. The realistic steady-state cost is low in absolute terms — the code is small — but it is permanently ours.

Support. Effectively none. No vendor SLA, no community forum, no evidence of documentation beyond a README. Any incident involving flags is resolved by our engineers reading our fork. This is acceptable for a small internal abstraction and unacceptable for anything customer-facing or revenue-affecting.

Scaling. Likely adequate for request-scoped evaluation at moderate volume, since config-driven flag lookup is cheap. Watch two things: if flags are resolved via annotations and reflection, per-request reflection cost needs a warm cache or compiled container to stay off the hot path; and the bundle almost certainly offers no centralised flag service, so there is no cross-service consistency, no percentage rollout coordination, and no flag-state audit trail. If the roadmap requires experimentation, gradual rollouts, or per-tenant targeting, this package is the wrong foundation regardless of its maintenance status.

Failure modes to design against. Silent default-on (a misconfigured or unresolvable flag enabling a feature in production), config-cache warmup breakage on deploy, coupling of flag evaluation to framework internals so a framework upgrade breaks every toggle at once, and flag debt with no ownership or expiry policy. The mitigation for all four is the same: a narrow internal interface, explicit fail-closed defaults for new features, flag expiry metadata, and tests that assert behaviour with flags both on and off.

Ramp-up. Low technical ramp — a small, conventionally structured bundle is a day or two for a competent Symfony engineer to read. The real cost is organisational: no documentation means tribal knowledge, and the 2018 baseline means every engineer who touches it will first have to reconstruct what "correct" looks like on a modern runtime. Estimate 3–5 engineer-days to reach a safe, tested, interface-wrapped deployment in Symfony, or ~2 days to build the native equivalent in Laravel — which is the recommended path.

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.
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment