ylsideas/feature-flags
Extendable Laravel feature flags (toggles) for safer deployments. Check flags in code, routes, Blade, validation, and task scheduling. Integrates cleanly with your app and supports dashboards like Flagfox for managing flags.
The package provides deep Laravel integration with a facade-based API (Features::accessible()), Blade directives, route middleware, and Eloquent query builder mixins. Its pipeline/gateway architecture (introduced in v2.0.0) offers modular driver support (in_memory, cache, database) and supports Laravel 6-12. However, the 0 Packagist dependents and "2025-05-11" release date (likely data error) raise adoption concerns. Recent fixes (e.g., cache boolean casting in v3.0.1) indicate active maintenance but also potential stability edge cases. Key risks include untested distributed system behavior and unclear failover behavior when drivers fail.
Seamless stack fit for any Laravel application (PHP 8.0+, Laravel 6-12). Migration path is straightforward: install via Composer, publish config, replace manual flag checks with Features::accessible() calls. Start with in_memory driver for dev, then switch to cache or database for production. Use route/middleware integration for quick safety gates. Compatibility is strong across Laravel versions (v2.3.0 added Laravel 10, v2.5.0 for 11, v3.0.0 for 12), but v3.x requires PHP 8.4+ per release notes. Sequence rollout by first applying to non-critical features, then expanding to routes/scheduling.
Maintenance is manageable with active commits, test coverage, and CI workflows, but 0 Packagist dependents limits community support. Production support relies on open-source community or optional Flagfox dashboard (unconfirmed production readiness). Scaling depends on driver choice: cache driver with Redis should handle high-volume checks, but no documented performance benchmarks exist. Failure modes include potential cache driver issues (e.g., v3.0.1's boolean casting bug) with undefined default behavior during failures. Ramp-up is low for basic usage (facade/API is simple), but pipeline/gateway configuration requires deeper understanding for advanced scenarios.
How can I help you explore Laravel packages today?