togul/php-sdk

PHP SDK for Togul Feature Flag Service

Maintainers

Package info

github.com/togulapp/togul-php

pkg:composer/togul/php-sdk

Statistics

Installs: 0

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 3

3.0.0 2026-05-20 20:04 UTC

This package is not auto-updated.

Last update: 2026-05-20 20:05:19 UTC


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

  • apiKey must be an environment API key, not a user JWT.
  • Requests are sent to POST /api/v1/evaluate with the X-API-Key header.
  • The cache key includes the full evaluation context.
  • The client retries 429 and 5xx, but stops immediately on 401/403/404.