Hydrator
in package
FinalYes
Utility class to hydrate the properties of an object.
Tags
Table of Contents
Methods
- hydrate() : T
- Sets the properties of an object, including private and protected ones.
Methods
hydrate()
Sets the properties of an object, including private and protected ones.
public
static hydrate(T $instance[, array<string, mixed> $properties = [] ][, array<class-string, array<string, mixed>> $scopedProperties = [] ]) : T
For example:
// Sets the public or protected $object->propertyName property
Hydrator::hydrate($object, ['propertyName' => $propertyValue]);
// Sets a private property defined on its parent Bar class:
Hydrator::hydrate($object, ["\0Bar\0privateBarProperty" => $propertyValue]);
// Alternative way to set the private $object->privateBarProperty property
Hydrator::hydrate($object, [], [
Bar::class => ['privateBarProperty' => $propertyValue],
]);
Instances of ArrayObject, ArrayIterator and SplObjectStorage can be hydrated by using the special "\0" property name to define their internal value:
// Hydrates an SplObjectStorage where $info1 is attached to $obj1, etc.
Hydrator::hydrate($object, ["\0" => [$obj1, $info1, $obj2, $info2...]]);
// Hydrates an ArrayObject populated with $inputArray
Hydrator::hydrate($object, ["\0" => [$inputArray]]);
Parameters
- $instance : T
-
The object to hydrate
- $properties : array<string, mixed> = []
-
The properties to set on the instance
- $scopedProperties : array<class-string, array<string, mixed>> = []
-
The properties to set on the instance, keyed by their declaring class