Copied!

Location

Location.php : 16
Abstract
Extends Criterion

This is the base class for Location criterions.

Properties

public $operator

Criterion.php : 23

The operator used by the Criterion.

public string $operator

public $target

Criterion.php : 37

The target used by the criteria (field, metadata...).

public string $target

public $value

Criterion.php : 30

The value(s) matched by the criteria.

public array<string|int, scalar>|scalar $value

public $valueData

Criterion.php : 44

Additional value data, required by some criterions, MapLocationDistance for instance.

public Value $valueData

Methods

public__construct()

Criterion.php : 62

Creates a Criterion.

public __construct(string|null $target, string|null $operator, array<int, scalar>|scalar $value[, Value|null $valueData = null ])

Performs operator validation based on the Criterion specifications returned by Criterion::getSpecifications().

Parameters

Name Type Default value Description
$target string|null -

The target the Criterion applies to: metadata identifier, field identifier...

$operator string|null -

The operator the Criterion uses. If null is given, will default to Operator::IN if $value is an array, Operator::EQ if it isn't.

$value array<int, scalar>|scalar - -
$valueData Value|null null -
Tags
Throws
InvalidArgumentException

if the provided operator isn't supported

publicgetSpecifications()

Criterion.php : 148

Criterion description function.

public abstract getSpecifications() : array<int, Specifications>

Returns the combination of the Criterion's supported operator/value, as an array of Specifications objects

// IN and EQ are supported
return [
    // The EQ operator expects a single value, either as an integer or a string
    new Specifications(
        Operator::EQ,
        Specifications::FORMAT_SINGLE,
        Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
    ),
    // The IN operator expects an array of values, of either integers or strings
    new Specifications(
        Operator::IN,
        Specifications::FORMAT_ARRAY,
        Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
    )
]

Return values

array<int, Specifications>