togul / php-sdk
PHP SDK for Togul Feature Flag Service
3.0.0
2026-05-20 20:04 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^11.0
README
PHP client for evaluating Togul feature flags with local TTL caching and fallback behavior.
Install
composer require togul/php-sdk
Usage
<?php use Togul\Config; use Togul\FallbackMode; use Togul\TogulClient; $client = new TogulClient(new Config( environment: 'production', apiKey: 'your-environment-api-key', timeout: 5.0, cacheTtl: 30, fallbackMode: FallbackMode::FailClosed, retryCount: 2, )); $result = $client->evaluate('new-dashboard', [ 'user_id' => 'user-123', 'country' => 'TR', ]); var_dump($result->enabled); // true var_dump($result->valueType); // "string" var_dump($result->value); // "dark_mode" var_dump($result->reason); // "rule_match"
EvaluateResult
evaluate() returns an EvaluateResult object:
$result->flagKey; // string — flag identifier $result->enabled; // bool — whether the flag is on $result->valueType; // string — "boolean" | "string" | "number" | "json" $result->value; // mixed — the resolved value $result->reason; // string — e.g. "rule_match", "default"
Notes
apiKeymust be an environment API key, not a user JWT.- Requests are sent to
POST /api/v1/evaluatewith theX-API-Keyheader. - The cache key includes the full evaluation context.
- The client retries
429and5xx, but stops immediately on401/403/404.