sonsofphp / feature-toggle-bundle
Sons of PHP | Feature Toggle Bundle
Fund package maintenance!
JoshuaEstes
Tidelift
Installs: 75
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Type:symfony-bundle
Requires
- php: >=8.2
- sonsofphp/feature-toggle: ^0.3@dev
This package is auto-updated.
Last update: 2024-10-30 16:47:54 UTC
README
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
composer require sonsofphp/feature-toggle-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require sonsofphp/feature-toggle-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... SonsOfPHP\Bundle\FeatureToggleBundle\SonsOfPHPFeatureToggleBundle::class => ['all' => true], ];
Configuration
# config/packages/sons_of_php_feature_toggle.yaml sons_of_php_feature_toggle: features: # You can create as many features as you want enabled_key: # Features can be enabled, disabled, or use a custom toggle toggle: enabled disabled_key: toggle: disabled custom_toggle_key: toggle: app.toggle.admin_users
Debug Command
You can debug your features by running the debug:features
command.
php bin/console debug:features
This will give you a list of features and the toggles they are using.
Twig Templates
You can check to see if the feature is enabled in twig templates by using the is_feature_enabled
function.
{% raw %} {% if is_feature_enabled('enabled_key') %} Feature "enabled_key" is enabled {% else %} Feature "enabled_key" is disabled {% endif %} {% endraw %}
Services
<?php use SonsOfPHP\Contract\FeatureToggle\FeatureToggleProviderInterface; class ExampleService { public function __construct( private FeatureToggleProviderInterface $featureToggleProvider, ) {} public function doSomething() { if ($featureToggleProvider->get('enabled_key')->isEnabled()) { // "enabled_key" is enabled } } }
Learn More
- Documentation
- Contributing
- Report Issues and Submit Pull Requests in the Mother Repository
- Get Help & Support using Discussions