Feature toggle bundle on steroids! Flagception is a simple and powerful feature toggle system for php. This bundle integrates the Flagception PHP Libary for symfony 2.7 to 5.* (and php 5.6 to php7.*).
| Bundle Version (Tag) | Support Symfony | Branch |
|---|---|---|
| <=3 | 2.7 - 4.4 | 3.x |
| >=4 | 4.4 - current | master |
$ composer require flagception/flagception-bundleDocumentation
- Installation
- Upgrade from 2.x
- Upgrade from 3.x
- Usage
- Twig flags
- Route flags
- Annotation flags
- Constraints
- Environment variables
- Cookies
- Database
- Activators
- Profiler
Quick example
Set some feature in your config (or use your own activator for fetching features from wherever you want) ...
flagception: # Your Features (optional you left it empty) features: # Feature name as key feature_123: # Default flag if inactive or active (default: false) default: true # Feature state from an environment variable feature_abc: env: FEATURE_ENV_ABC # Feature with constraint (active if user id is 12 OR it is between 8 am and 6 pm) feature_def: constraint: 'user_id == 12 or (date("H") > 8 and date("H") < 18)' # All togther (chain) feature_def: default: false env: FEATURE_ENV_ABC constraint: 'user_id == 12 or (date("H") > 8 and date("H") < 18)'
... and use it in controller, services or twig:
{% if feature('feature_123') %}
{# Execute if feature is active ... #}
{% endif %}See usage documentation for detailed examples.
Profiler
This bundle ships a profiler tab, where you can see how often a feature was requested, which results it returns (active or inactive) and the given context.
Credits
Profiler icon from https://github.com/ionic-team/ionicons

