class Context

Document context

Methods

__construct(mixed $document, int $options = 0)

Create a new instance

getSubtreeContext(array $path)

Get a new context with the provided path as the root

bool
valueExists(array $path)

Check whether the value at a given path exists

mixed|null
getValue(array $path, bool $exists = null)

Get the value at a given path

setValue(array $path, mixed $value, bool $padSparseArray = false)

Set the value at a given path

deleteValue(array $path, bool $deleteEmpty = false)

Delete the value at a given path

array
getAnnotations(array $path, string $name = null)

Get annotations for a given path

setAnnotation(array $path, string $name, mixed $value, bool $clear = false)

Set an annotation for a given path

Details

at line 38
__construct(mixed $document, int $options = 0)

Create a new instance

Parameters

mixed $document Reference to the target document
int $options Configuration options (bitmask)

at line 50
Context getSubtreeContext(array $path)

Get a new context with the provided path as the root

Parameters

array $path Array of path elements

Return Value

Context New context with $root as the document root

at line 67
bool valueExists(array $path)

Check whether the value at a given path exists

Parameters

array $path Array of path elements

Return Value

bool Whether a value exists at the given path

at line 82
mixed|null getValue(array $path, bool $exists = null)

Get the value at a given path

Parameters

array $path Array of path elements
bool $exists Reference - set to true if the value exists, false otherwise

Return Value

mixed|null Value data, or null if value does not exist

at line 113
setValue(array $path, mixed $value, bool $padSparseArray = false)

Set the value at a given path

Parameters

array $path Array of path elements
mixed $value Value data to set
bool $padSparseArray Whether to left-pad sparse arrays with null values

at line 163
deleteValue(array $path, bool $deleteEmpty = false)

Delete the value at a given path

Parameters

array $path Array of path elements
bool $deleteEmpty Whether to delete empty containers

at line 208
array getAnnotations(array $path, string $name = null)

Get annotations for a given path

Parameters

array $path Array of path elements
string $name Annotation name

Return Value

array Array of annotation values

at line 232
setAnnotation(array $path, string $name, mixed $value, bool $clear = false)

Set an annotation for a given path

Parameters

array $path Array of path elements
string $name Annotation name
mixed $value Annotation value
bool $clear Clear existing annotations with the same name