flagception / flagception-bundle
Feature toggle bundle on steroids.
Installs: 2 127 594
Dependents: 0
Suggesters: 0
Security: 0
Stars: 18
Watchers: 1
Forks: 42
Open Issues: 4
Type:symfony-bundle
Requires
- php: ^7.1.3 | ^8.0
- doctrine/annotations: ^1.7 | ^2.0
- flagception/flagception: ^1.5
- symfony/config: ^4.4 | ^5.0 | ^6.0 | ^7.0
- symfony/dependency-injection: ^4.4 | ^5.0 | ^6.0 | ^7.0
- symfony/http-kernel: ^4.4 | ^5.0 | ^6.0 | ^7.0
- symfony/yaml: ^4.4 | ^5.0 | ^6.0 | ^7.0
- twig/twig: ^1.18|^2.0|^3.0
Requires (Dev)
- flagception/database-activator: ^1.0
- php-coveralls/php-coveralls: ^2.0
- squizlabs/php_codesniffer: ^3.3.1
- symfony/phpunit-bridge: ^5.0 | ^6.0 | ^7.0
- symfony/twig-bridge: ^4.4 | ^5.0 | ^6.0 | ^7.0
Suggests
- flagception/database-activator: Fetch feature flags from a database.
- dev-master
- 4.4.2
- 4.4.1
- 4.4.0
- 4.3.1
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.x-dev
- 3.6.0
- 3.5.1
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.1
- 3.0.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.0.2
- 0.0.1
- dev-bugfix/22-missing-configuration
- dev-ntr/master/test-against-symfony-6.4
- dev-#18/master/support-symfony-7
- dev-ntr/master/optimize-github-actions
- dev-#2/master/add-annotations-v2
- dev-feature/5-feature-data-collector-debug
- dev-ntr/master/add-coverage-badge
This package is auto-updated.
Last update: 2024-04-15 14:05:46 UTC
README
Feature toggle bundle on steroids! Flagception is a simple and powerful feature toggle system for php. This bundle integrates the Flagception PHP Library for symfony 2.7 to 6.* (and php 5.6 to php 8.*).
Bundle Version (Tag) | Support Symfony | Branch |
---|---|---|
<=3 | 2.7 - 4.4 | 3.x |
>=4 | 4.4 - current | master |
$ composer require flagception/flagception-bundle
Documentation
- 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