Amplitude PHP Server SDK for Experiment.
composer require amplitude/experiment-php-server
<?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
}
}
<?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
}
}
Please visit our Developer Center for more instructions on using our the SDK.
If you have any problems or issues over our SDK, feel free to create a GitHub issue or submit a request on Amplitude Help.