metro-markets/feature-flag-bundle

Metro Markets Symfony 功能标志 Bundle,用于快速集成 configcat 和其他供应商。

v0.1 2021-07-10 20:37 UTC

This package is auto-updated.

Last update: 2024-09-11 03:41:05 UTC


README

Build Status Scrutinizer Code Quality Code Coverage License: MIT

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 许可证许可。有关更多信息,请参阅 许可证