LaunchDarkly PHP SDK 6.1.0

FlagRuleBuilder
in package

A builder for feature flag rules to be used with FlagBuilder.

In the LaunchDarkly model, a flag can have any number of rules, and a rule can have any number of clauses. A clause is an individual test such as "name is 'X'". A rule matches a user if all of the rule's clauses match the user.

To start defining a rule, use one of the flag builder's matching methods such as ifMatch('country', 'us'...). This defines the first clause for the rule. Optionally, you may add more clauses with the rule builder's methods such as andMatch('age', '20'...). Finally, call thenReturn(boolean) or thenReturn(int) to finish defining the rule.

Tags
see
FlagBuilder

Table of Contents

__construct()  : mixed
andMatch()  : FlagRuleBuilder
Adds another clause, using the "is one of" operator.
andMatchContext()  : FlagRuleBuilder
Adds another clause, using the "is one of" operator. This matching expression only applies to contexts of a specific kind.
andNotMatch()  : FlagRuleBuilder
Adds another clause, using the "is not one of" operator.
andNotMatchContext()  : FlagRuleBuilder
Adds another clause, using the "is not one of" operator. This matching expression only applies to contexts of a specific kind.
build()  : array<string|int, mixed>
Creates an associative array representation of the flag
thenReturn()  : FlagBuilder
Finishes defining the rule, specifying the result value as a boolean or variation index.

Methods

andMatch()

Adds another clause, using the "is one of" operator.

public andMatch(string $attribute, array<string|int, mixed> ...$values) : FlagRuleBuilder

This is a shortcut for calling FlagRuleBuilder::andMatchContext() with LDContext::DEFAULT_KIND as the context kind.

For example, this creates a rule that returns true if the name is "Patsy" and the country is "gb":

$testData->flag("flag")
         ->ifMatch("name", "Patsy")
         ->andMatch("country", "gb")
         ->thenReturn(true);
Parameters
$attribute : string

the user attribute to match against

$values : array<string|int, mixed>

values to compare to

Return values
FlagRuleBuilder

the rule builder

andMatchContext()

Adds another clause, using the "is one of" operator. This matching expression only applies to contexts of a specific kind.

public andMatchContext(string $contextKind, string $attribute, array<string|int, mixed> ...$values) : FlagRuleBuilder

For example, this creates a rule that returns true if the name attribute for the "company" context is "Ella", and the country attribute for the "company" context is "gb":

$testData->flag("flag")
         ->ifMatchContext("company", "name", "Ella")
         ->andMatchContext("company", "country", "gb")
         ->thenReturn(true);
Parameters
$contextKind : string
$attribute : string

the user attribute to match against

$values : array<string|int, mixed>

values to compare to

Return values
FlagRuleBuilder

the rule builder

andNotMatch()

Adds another clause, using the "is not one of" operator.

public andNotMatch(string $attribute, array<string|int, mixed> ...$values) : FlagRuleBuilder

This is a shortcut for calling FlagRuleBuilder::andNotMatchContext() withLDContext::DEFAULT_KIND as the context kind.

For example, this creates a rule that returns true if the name is "Patsy" and the country is not "gb":

$testData->flag("flag") ->ifMatch("name", "Patsy") ->andNotMatch("country", "gb") ->thenReturn(true);

Parameters
$attribute : string

the user attribute to match against

$values : array<string|int, mixed>

values to compare to

Return values
FlagRuleBuilder

the rule builder

andNotMatchContext()

Adds another clause, using the "is not one of" operator. This matching expression only applies to contexts of a specific kind.

public andNotMatchContext(string $contextKind, string $attribute, array<string|int, mixed> ...$values) : FlagRuleBuilder

For example, this creates a rule that returns true if the name attribute for the "company" context is "Ella", and the country attribute for the "company" context is not "gb":

$testData->flag("flag") ->ifMatchContext("company", "name", "Ella") ->andNotMatchContext("company", "country", "gb") ->thenReturn(true);

Parameters
$contextKind : string
$attribute : string

the user attribute to match against

$values : array<string|int, mixed>

values to compare to

Return values
FlagRuleBuilder

the rule builder

build()

Creates an associative array representation of the flag

public build(int $id) : array<string|int, mixed>
Parameters
$id : int

the rule id

Return values
array<string|int, mixed>

the array representation of the flag

thenReturn()

Finishes defining the rule, specifying the result value as a boolean or variation index.

public thenReturn(bool|int $variation) : FlagBuilder
Parameters
$variation : bool|int

the value to return if the rule matches the user

Return values
FlagBuilder

the flag builder

Search results