承接 open-feature/split-provider 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

open-feature/split-provider

最新稳定版本:1.0.0

Composer 安装命令:

composer require open-feature/split-provider

包简介

The Split provider package for OpenFeature

README 文档

README

a Latest Stable Version Total Downloads PHP 8.0+ License

Overview

Split is a feature delivery platform that powers feature flag management, software experimentation, and continuous delivery. This repository and package provides the client side code for interacting with it via the OpenFeature PHP SDK.

This package also builds on various PSRs (PHP Standards Recommendations) such as the Logger interfaces (PSR-3) and the Basic and Extended Coding Standards (PSR-1 and PSR-12).

Installation

composer require open-feature/split-provider

Usage

The SplitProvider client constructor takes a single optional argument with 3 fields, their default values correspond to the default arguments supplied to the flagd server:

$splitConfig = [
    'cache' => [
      'adapter' => 'predis',
      'parameters' => [
        'scheme' => 'tcp',
        'host' => getenv('REDIS_HOST'),
        'port' => getenv('REDIS_PORT'),
        'timeout' => 881,
      ],
      'options' => [
        'prefix' => '',
      ],
    ],
];

$splitApiKey = getenv('SPLIT_API_KEY');

$provider = new SplitProvider($splitApiKey, $splitConfig);

For more information on the configuration options, please see the Split PHP SDK documentation on Configuration.

Resolving values requires the use of the EvaluationContext, where you can provide the targetingKey` for the evaluation (the identifier which represents the user/account/etc.)

$client = $api->getClient('split-example', '1.0.0');

$featureEnabled = $client->getBooleanDetails('dev.openfeature.example_flag', false, new EvaluationContext('user-id'), null);

if ($featureEnabled) {
  // do new logic here
} else {
  // do old logic here
}

You can provide more elaborate attributes to resolve values, but the values must conform to the requirements of the Split SDK. Information on what attributes are allowed can be found in the Attributes section of the PHP SDK documentation.

$client = $api->getClient('split-example', '1.0.0');

$featureEnabled = $client->getBooleanDetails('dev.openfeature.example_flag', false, new EvaluationContext('user-id', [
  'plan_type' => 'growth',
  'registered_date' => (new DateTime('now', new DateTimeZone('UTC')))->getTimestamp(),
  'deal_size' => 10000,
  'paying_customer' => True,
  'permissions' => ['gold','silver','platinum'],
]), null);

if ($featureEnabled) {
  // do new logic here
} else {
  // do old logic here
}

Development

PHP Versioning

This library targets PHP version 8.0 and newer. As long as you have any compatible version of PHP on your system you should be able to utilize the OpenFeature SDK.

This package also has a .tool-versions file for use with PHP version managers like asdf.

Installation and Dependencies

Install dependencies with composer install. composer install will update the composer.lock with the most recent compatible versions.

We value having as few runtime dependencies as possible. The addition of any dependencies requires careful consideration and review.

Testing

Run tests with composer run test.

统计信息

  • 总下载量: 8.94k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2022-11-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固