devcycle / php-server-sdk
DevCycle PHP 服务器 SDK
2.0.2
2024-03-14 18:34 UTC
Requires
- php: >=8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^2.0
- open-feature/sdk: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^v3.49.0
- phpunit/phpunit: ^10.5.10
- dev-main
- 2.0.2
- 2.0.1
- 2.0.0
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/friendsofphp/php-cs-fixer-3.60.0
- dev-dependabot/composer/guzzlehttp/guzzle-7.9.2
- dev-JamieSinn-patch-1
- dev-dependabot/composer/guzzlehttp/psr7-2.7.0
- dev-dependabot/composer/phpunit/phpunit-10.5.26
- dev-dependabot/composer/open-feature/sdk-2.0.7
- dev-elliot-hi
- dev-use-tagged-release-action
- dev-fix-release-action
- dev-update-release-to-new-pattern
- dev-DVC-7931-automated-release-action
- dev-json-defaulting-handled
This package is auto-updated.
Last update: 2024-08-29 23:52:22 UTC
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"
);