- Is hotflo/feature-toggle-bundle a Laravel package?
- No. Despite the Laravel-style framing in some descriptions, hotflo/feature-toggle-bundle is a Symfony2 bundle: it ships a Bundle subclass, a DI container extension, service definitions, and framework config. Laravel has no counterpart to that wiring, so none of the bundle layer is reusable in a Laravel application. Only the underlying feature-toggle concept is portable, and Laravel already ships that via Pennant.
- Can I install hotflo/feature-toggle-bundle with Composer in a Laravel application?
- Realistically no. The package is Symfony 2.8-era and its dependency graph almost certainly pins Symfony 2.x/3.x components, which collide with the Symfony 6.x/7.x components required by Laravel 10, 11, and 12. Composer resolution will likely fail before you write any integration code. Even a forced install would not register a Bundle subclass in Laravel's service container.
- Which Laravel versions does hotflo/feature-toggle-bundle support?
- None directly. It targets Symfony 2.x, and Symfony 2.8 reached end of life in November 2018 with no security patches since. There is no Laravel service provider, facade, Blade directive, or middleware in the package. Treat any claim of Laravel compatibility as inaccurate.
- What is the best Laravel alternative to hotflo/feature-toggle-bundle?
- Laravel Pennant is the first-party answer for release toggles and feature gating, available from Laravel 10.37 with a Feature::active() API and pluggable stores. It carries zero third-party maintenance burden and is tested against current framework versions. If you need percentage rollouts with sticky bucketing or cross-service consistency, an Unleash-compatible backend is the stronger choice.
- What does hotflo/feature-toggle-bundle actually provide?
- It adds a declarative feature toggle layer configured through the bundle: define named toggles in configuration, enable or disable them per environment, check them from PHP services and controllers, and read them in templates for conditional rendering. The integration with Symfony's DI container is intentionally lightweight. It is a simple flag resolver, not a rollout or experiment platform.
- How do you define and check a feature toggle in hotflo/feature-toggle-bundle?
- In Symfony you would register the bundle in AppKernel, define your toggles under the bundle's configuration key per environment, then fetch the toggle service from the container and check a named flag before executing a code path. Templates get equivalent access so you can wrap markup in a conditional. There is no Laravel-style config file, facade, or Blade directive, so a Laravel port would require re-expressing all of this as a ServiceProvider with a published config.
- Does hotflo/feature-toggle-bundle support per-environment toggles and percentage rollouts?
- Per-environment enable and disable is supported through configuration, which covers basic release toggles. Percentage-based rollouts with sticky bucketing, targeting rules, audit trails of who flipped a flag, approval workflows, and scheduled rollback are not provided. If those are requirements, neither this package nor its underlying library will satisfy them.
- Is hotflo/feature-toggle-bundle maintained and safe for production?
- It has zero stars and zero dependents, which means no downstream validation on a modern runtime, no triaged issues, and no evidence it works outside the author's original context. Combined with an end-of-life Symfony 2.8 foundation, it will not pass a modern dependency-scanning or procurement gate. Treat it as a reference implementation to read, not a dependency to adopt.
- How would I migrate from hotflo/feature-toggle-bundle to Laravel Pennant?
- Strip the bundle wiring, re-express the services as a Laravel ServiceProvider with a published config file, and replace Symfony event-dispatcher and kernel hooks with Laravel equivalents. Then map each existing toggle name onto a Pennant feature definition and move checks to Feature::active(). A realistic proof of concept plus hardening runs three to five engineering days, which is mostly spent reproducing a capability the framework already ships.
- When should I use Laravel Pennant versus Unleash or LaunchDarkly?
- Pennant fits release toggles, dark launches, and simple feature gating inside a single Laravel application with a database or array store. Reach for an Unleash-compatible backend or LaunchDarkly when you need targeting rules, percentage rollouts with sticky bucketing, kill switches shared across services, or an admin UI with an audit trail. Start by naming the toggle taxonomy you actually need, since release toggles, operational kill switches, entitlements, and experiment assignment have very different lifecycle and audit requirements.