flagception / contentful-activator
Contentful 的功能开关管理激活器
1.0.0
2018-01-13 23:04 UTC
Requires
- php: ^5.6||^7.0
- contentful/contentful: ^1.0||^2.0
- flagception/flagception: ^1.0
- symfony/options-resolver: >=2.7
Requires (Dev)
- phing/phing: ^2.15
- php-coveralls/php-coveralls: ^1.0
- phpunit/phpunit: ^5.5
- squizlabs/php_codesniffer: ^2.8
- symfony/phpunit-bridge: ^3.0
This package is auto-updated.
Last update: 2024-08-25 22:27:01 UTC
README
使用 Flagception 和 Contentful 管理功能标志!
下载库
打开命令行,进入您的项目目录,并执行以下命令以下载此库的最新稳定版本
$ composer require flagception/contentful-activator
用法
只需创建一个新的 ContentfulActivator
实例并将其提交到您的功能管理器
// YourClass.php class YourClass { public function run() { // We need two arguments: // 1. A contentful client // 2. The content type name in contentful $activator = new ContentfulActivator($this->client, 'FeatureToggle'); $manager = new FeatureManager($activator); if ($manager->isActive('your_feature_name')) { // do something } } }
ContentfulActivator
需要三个参数
- contentful 客户端 的实例
- contentful 模型类型 id,作为字符串
- 字段映射作为数组 ('name' 和 'state') - 可选(默认值已设置)
如果您的 contentful 模型看起来像这样 ...
{ "name": "Feature Management", "description": "Features verwalten", "displayField": "featureName", "fields": [ { "id": "featureName", "name": "Feature", "type": "Text", "localized": false, "required": true, "validations": [], "disabled": false, "omitted": false }, { "id": "isActive", "name": "Aktiv", "type": "Boolean", "localized": false, "required": true, "validations": [], "disabled": false, "omitted": false } ], "sys": { "space": { "sys": { "type": "Link", "linkType": "Space", "id": "9d8smn39" } }, "id": "myFeatureModel", "type": "ContentType", "createdAt": "2017-12-07T15:54:07.255Z", "updatedAt": "2018-01-11T16:08:47.283Z", //... } }
... 那么您的激活器实例应该像这样
// YourClass.php class YourClass { public function run() { // "myFeatureModel" is the content model type $activator = new ContentfulActivator($this->client, 'myFeatureModel', [ 'name' => 'featureName', // Field name for feature key 'state' => 'isActive' // Field name for feature state ]); $manager = new FeatureManager($activator); if ($manager->isActive('your_feature_name')) { // do something } } }
如果您在 contentful 中使用默认字段名称,则可以跳过字段映射(如第一个示例)
- 'state' 用于功能状态字段
- 'name' 用于功能键字段