class PropertyPath implements IteratorAggregate, PropertyPathInterface

Default implementation of {@link PropertyPathInterface}.

Constants

SINGULAR_SEPARATOR

Character used for separating between plural and singular of an element.

Methods

__construct(PropertyPath|string $propertyPath)

Constructs a property path from a string.

string
__toString()

Returns the string representation of the property path.

int
getLength()

Returns the length of the property path, i.e. the number of elements.

getParent()

Returns the parent property path.

getIterator()

Returns a new iterator for this path.

array
getElements()

Returns the elements of the property path as array.

string
getElement(int $index)

Returns the element at the given index in the property path.

bool
isProperty(int $index)

Returns whether the element at the given index is a property.

bool
isIndex(int $index)

Returns whether the element at the given index is an array index.

Details

at line line 69
__construct(PropertyPath|string $propertyPath)

Constructs a property path from a string.

Parameters

PropertyPath|string $propertyPath The property path as string or instance

Exceptions

InvalidArgumentException If the given path is not a string
InvalidPropertyPathException If the syntax of the property path is not valid

at line line 132
string __toString()

Returns the string representation of the property path.

Return Value

string The path as string

at line line 140
int getLength()

Returns the length of the property path, i.e. the number of elements.

Return Value

int The path length

at line line 148
PropertyPath getParent()

Returns the parent property path.

The parent property path is the one that contains the same items as this one except for the last one.

If this property path only contains one item, null is returned.

Return Value

PropertyPath The parent path or null

at line line 169
PropertyPathIteratorInterface getIterator()

Returns a new iterator for this path.

at line line 177
array getElements()

Returns the elements of the property path as array.

Return Value

array An array of property/index names

at line line 185
string getElement(int $index)

Returns the element at the given index in the property path.

Parameters

int $index The index key

Return Value

string A property or index name

Exceptions

OutOfBoundsException If the offset is invalid

at line line 197
bool isProperty(int $index)

Returns whether the element at the given index is a property.

Parameters

int $index The index in the property path

Return Value

bool Whether the element at this index is a property

Exceptions

OutOfBoundsException If the offset is invalid

at line line 209
bool isIndex(int $index)

Returns whether the element at the given index is an array index.

Parameters

int $index The index in the property path

Return Value

bool Whether the element at this index is an array index

Exceptions

OutOfBoundsException If the offset is invalid