Metro Markets FF
Metro Markets FF is a Feature Flag Symfony Bundle. It easily allows you to configure and use your favorite feature flag provider.
Installation
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 metro-markets/feature-flag-bundle
Step 2: Enable the 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],
];
Step 3: Create the configuration
# 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'
How to use it
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();
}
}
}
About providers
Currently, the only supported provider is configCat. Please, refer to the official PHP SDK for more details.
License
This package is open-sourced software licensed under the MIT license. Please for more info refer to the license