devcycle/php-server-sdk

DevCycle PHP 服务器 SDK


README

欢迎使用 DevCycle PHP SDK,它最初是通过 DevCycle 分组 API 生成的。

需求

PHP 8.0 及以上。

安装

Composer 安装

要通过 Composer 安装绑定,请将以下内容添加到 composer.json

{
  "require": {
    "devcycle/php-server-sdk": "*"
  }
}

然后运行 composer install

入门

请按照 安装流程 操作,然后运行以下命令

<?php
require_once(__DIR__ . '/vendor/autoload.php');

use DevCycle\Api\DevCycleClient;
use DevCycle\Model\DevCycleOptions;
use DevCycle\Model\DevCycleUser;

$options = new DevCycleOptions(
    false,
    $bucketingHostname,
    $unixSocketPath
);

$devCycleClient = new DevCycleClient(
    sdkKey: getenv("DEVCYCLE_SERVER_SDK_KEY"),
    dvcOptions: $options
);

$user_data = new DevCycleUser(array(
  "user_id"=>"my-user"
));

try {
    $result = $apiInstance->allFeatures($user_data);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling DevCycleClient->allFeatures: ', $e->getMessage(), PHP_EOL;
}

使用方法

要查找使用文档,请访问我们的 文档

OpenFeature 支持

此 SDK 提供了 OpenFeature 提供者接口的实现。通过在 DevCycle SDK 客户端上使用 getOpenFeatureProvider() 方法来获取 OpenFeature 的提供者。

$devCycleClient = new DevCycleClient(
    sdkKey: getenv("DEVCYCLE_SERVER_SDK_KEY"),
    dvcOptions: $options
);
$api->setProvider($devCycleClient->getOpenFeatureProvider());

高级选项(本地分组)

由于 PHP 的特性,我们无法直接在 PHP 中支持本地分组,但我们创建了一个辅助工作器,可以用于模拟低延迟和高吞吐量的本地分组功能。此代理可在以下位置找到: https://github.com/devcyclehq/local-bucketing-proxy

该代理有两种模式 - HTTP 和 Unix 套接字。PHP SDK 支持这两种模式,但对于大多数情况应使用 HTTP 模式。

此代理(在 HTTP 模式下)的配置如下(将 URL 替换为代理的 URL)

use DevCycle\Model\DevCycleOptions;

$options = new DevCycleOptions(
    enableEdgeDB: false, 
    bucketingApiHostname = "hostname for sdk proxy here"
);

此代理(在 Unix 套接字模式下)的配置如下(将 UDS 路径替换为套接字路径)

use DevCycle\Model\DevCycleOptions;

$options = new DevCycleOptions(
    enableEdgeDB: false, 
    bucketingApiHostname: "http:/localhost",
    unixSocketPath: "/path/to/unix/socket"
);