OptimizelyUserContext for the PHP SDK
Describes the OptimizelyUserContext object which allows you to make flag decisions and track events for a user context.
The OptimizelyUserContext object allows you to make flag decisions and track events for a user context that you have already created using theCreate User Context method.
OptimizelyUserContext version
OptimizelyUserContext is supported on SDK v3.7 and higher.
Forced decision methods version
setForcedDecision(),getForcedDecision(),removeForcedDecision() andremoveAllForcedDecisions() methods are supported on v3.9.0 and higher.
OptimizelyUserContext definition
The following code shows the object definition for OptimizelyUserContext:
class OptimizelyUserContext implements \JsonSerializable{ // Create an instance of the Optimizely User Context. Pass in user id and optionally user attributes public function __construct(Optimizely $optimizelyClient, $userId, array $attributes = [], $forcedDecisions = null); // get user id for the user public function getUserId(); // set user attributes public function setAttribute($key, $value); // get user attributes public function getAttributes(); // make a decision about which flag variation the user buckets into for the flag key public function decide($key, array $options = []); // make decisions about which flag variations the user buckets into for flag keys public function decideForKeys(array $keys, array $options = []); // make decisions about which flag variations the user buckets into for all flags public function decideAll(array $options = []); // track user event public function trackEvent($eventKey, array $eventTags = []); // Sets the forced decision (variationKey) for a given decision context public function setForcedDecision($context, $decision); // Returns the forced decision for a given decision context public function getForcedDecision($context); // Removes the forced decision for a given decision context public function removeForcedDecision($context); // Removes all forced decisions bound to this user context public function removeAllForcedDecisions();}Properties
The following table shows attributes for the OptimizelyUserContext object:
| Attribute | Type | Comment |
|---|---|---|
| userId | String | The ID of the user |
| (optional) attributes | Map | A map of custom key-value pairs specifying attributes for the user that are used foraudience targeting. You can pass the map with the user ID when you create the user. |
Methods
The following table shows methods for the OptimizelyUserContext object:
Method | Comment |
|---|---|
setAttribute | Pass a custom user attribute as a key-value pair to the user context. |
decide | Returns a decision result for a flag key for a user. The decision result is returned in an OptimizelyDecision object, and contains all data required to deliver the flag rule. |
decideForKeys | Returns a map of flag decisions for specified flag keys. |
decideAll | Returns decisions for all active (unarchived) flags for a user. |
trackEvent | Tracks a conversion event (in other words, an action a user takes) for a user. Logs an error message if the specified event key doesn't match any existing events. |
setForcedDecision | Forces a user into a specific variation. |
getForcedDecision | Returns what variation the user was forced into. |
removeForcedDecision | Removes a user from a specific forced variation. |
removeAllForcedDecisions | Removes a user from all forced variations. |
See Also
Source files
The language/platform source files containing the implementation for PHP isOptimizely.php.
Updated 17 days ago