100 lines
2.2 KiB
YAML
100 lines
2.2 KiB
YAML
|
name: Hydrator
|
||
|
class_comment: null
|
||
|
dependencies:
|
||
|
- name: InternalHydrator
|
||
|
type: class
|
||
|
source: Symfony\Component\VarExporter\Internal\Hydrator
|
||
|
properties: []
|
||
|
methods:
|
||
|
- name: hydrate
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: instance
|
||
|
- name: properties
|
||
|
default: '[]'
|
||
|
- name: scopedProperties
|
||
|
default: '[]'
|
||
|
comment: '# * Utility class to hydrate the properties of an object.
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * @author Nicolas Grekas <p@tchwork.com>
|
||
|
|
||
|
# */
|
||
|
|
||
|
# final class Hydrator
|
||
|
|
||
|
# {
|
||
|
|
||
|
# /**
|
||
|
|
||
|
# * Sets the properties of an object, including private and protected ones.
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * 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]]);
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * @template T of object
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * @param T $instance The object
|
||
|
to hydrate
|
||
|
|
||
|
# * @param array<string, mixed> $properties The properties
|
||
|
to set on the instance
|
||
|
|
||
|
# * @param array<class-string, array<string, mixed>> $scopedProperties The properties
|
||
|
to set on the instance,
|
||
|
|
||
|
# * keyed by
|
||
|
their declaring class
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * @return T'
|
||
|
traits: []
|
||
|
interfaces: []
|