# 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.
{% if is_feature_enabled('enabled_key') %}
Feature "enabled_key" is enabled
{% else %}
Feature "enabled_key" is disabled
{% endif %}
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
}
}
}