metro-markets / feature-flag-bundle
Metro Markets Symfony 功能标志 Bundle,用于快速集成 configcat 和其他供应商。
v0.1
2021-07-10 20:37 UTC
Requires
- php: ^8.0 || ^7.3
- symfony/cache: ^5.0 || ^4.2
- symfony/config: ^5.0 || ^4.2
- symfony/dependency-injection: ^5.0 || ^4.2
- symfony/http-kernel: ^5.1.5 || ^4.2
- symfony/yaml: ^5.0 || ^4.2
Requires (Dev)
- configcat/configcat-client: ^5.0 || ^4.0
- phpunit/phpunit: ^9.0 || ^8.0 || ^7.0
Suggests
- configcat/configcat-client: Required whenever provider is configcat
- guzzlehttp/guzzle: Required whenever provider is rest
README
Metro Markets FF
Metro Markets FF 是一个功能标志 Symfony Bundle。它允许您轻松配置和使用您喜欢的功能标志供应商。
安装
步骤 1:下载 Bundle
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此 Bundle 的最新稳定版本
$ composer require metro-markets/feature-flag-bundle
步骤 2:启用 Bundle
(如果您使用 Symfony Flex,请跳过此步骤)然后,通过将其添加到项目 config/bundles.php
文件中注册的 Bundle 列表中来启用此 Bundle
// config/bundles.php return [ // ... MetroMarkets\FFBundle\MetroMarketsFeatureFlagBundle::class => ['all' => true], ];
步骤 3:创建配置
# 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'
如何使用它
安装完成后,您可以在任何地方注入该服务并按以下方式使用它
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(); } } }
关于供应商
目前,唯一支持的供应商是 configCat。有关详细信息,请参阅 官方 PHP SDK
许可
此软件包是开源软件,根据 MIT 许可证许可。有关更多信息,请参阅 许可证