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
# */
# 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