Metro Markets FF is a Feature Flag Symfony Bundle. It easily allows you to configure and use your favorite feature flag provider.
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require metro-markets/feature-flag-bundle
(Please skip this step if you are using Symfony Flex)
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 [
// ...
MetroMarkets\FFBundle\MetroMarketsFeatureFlagBundle::class => ['all' => true],
];
# config/packages/metro_markets_feature_flag.yaml
metro_markets_feature_flag:
provider: 'configcat'
configcat:
sdk_key: 'PKDVCLf-Hq-h-kCzMp-L7Q/HhOWfwVtZ0mb30i9wi17GQ' # Get it from ConfigCat Dashboard.
cache:
driver: 'cache.app'
ttl: 60
logger: 'monolog.logger'
After the installation is done you can simply inject the service anywhere and use it as follows:
use MetroMarkets\FFBundle\FeatureFlagService;
class AnyService
{
/** @var FeatureFlagService */
private $featureFlagService;
public function __construct(FeatureFlagService $featureFlagService)
{
$this->featureFlagService = $featureFlagService;
}
protected function someMethod()
{
$isEnabled = $this->featureFlagService->isEnabled('isMyAwesomeFeatureEnabled');
if ($isEnabled){
doTheNewStuff();
} else{
keepTheOld();
}
}
}
Currently, the only supported provider is configCat. Please, refer to the official PHP SDK for more details.
This package is open-sourced software licensed under the MIT license. Please for more info refer to the license