amplitude / experiment-php-server
Amplitude Experiment Server SDK for PHP
Installs: 147 761
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 6
Forks: 4
Open Issues: 1
Requires
- php: ^7.4 || ^8
- ext-json: *
- guzzlehttp/guzzle: ^7
- psr/cache: ^1 || ^2 || ^3
- psr/log: ^1 || ^2 || ^3
- symfony/cache: ^5 || ^6 || ^7
Requires (Dev)
- phpstan/phpstan: ^1
- phpunit/phpunit: 9.*
Suggests
- monolog/monolog: Allows more advanced logging of the application flow
- dev-main
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.1
- 0.3.0
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.2
- 0.1.1
- v0.1.0
- dev-composer-cache-versions
- dev-configure-assign-cache
- dev-event-from-array
- dev-remove-api-key-log
- dev-v1-release
- dev-assignment-timestamp
- dev-tracking-provider
- dev-async-flush
- dev-custom-enhancement
- dev-update-test-yml
This package is auto-updated.
Last update: 2024-11-17 07:32:48 UTC
README
Experiment PHP SDK
Amplitude PHP Server SDK for Experiment.
Installation
composer require amplitude/experiment-php-server
Remote Evaluation Quick Start
<?php // (1) Initialize the experiment client $experiment = new \AmplitudeExperiment\Experiment(); $client = $experiment->initializeRemote('<DEPLOYMENT_KEY>') // (2) Fetch variants for a user $user = \AmplitudeExperiment\User::builder() ->deviceId('abcdefg') ->userId('user@company.com') ->userProperties(['premium' => True]) ->build(); $variants = $client->fetch($user); // (3) Access a flag's variant $variant = $variants['FLAG_KEY'] ?? null; if ($variant) { if ($variant->value == 'on') { // Flag is on } else { // Flag is off } }
Local Evaluation Quick Start
<?php // (1) Initialize the experiment client $experiment = new \AmplitudeExperiment\Experiment(); $client = $experiment->initializeLocal('<DEPLOYMENT_KEY>'); // (2) Fetch latest flag configurations for the local evaluation client. $client->refreshFlagConfigs(); // (3) Evaluate a user. $user = \AmplitudeExperiment\User::builder() ->deviceId('abcdefg') ->userId('user@company.com') ->userProperties(['premium' => true]) ->build(); // Evaluate all flag variants $allVariants = $client->evaluate($user); // Evaluate a specific subset of flag variants $specificVariants = $client->evaluate($user, [ 'my-local-flag-1', 'my-local-flag-2', ]); // (4) Access a flag's variant $variant = $allVariants['FLAG_KEY'] ?? null; if ($variant) { if ($variant->value == 'on') { // Flag is on } else { // Flag is off } }
More Information
Please visit our Developer Center for more instructions on using our the SDK.
Need Help?
If you have any problems or issues over our SDK, feel free to create a GitHub issue or submit a request on Amplitude Help.