Гидратация (Hydration) - это процесс заполнения объекта из набора данных .
Компонент Hydration – предоставляет механизмы как для добавления данных так и для их извлечения из объекта.
Состоит из интерфейса и нескольких дополнительных реализаций, упрощающих работу с гидратацией.
namespace Zend\Stdlib\Hydrator; interface HydratorInterface { /** * Extract values from an object * * @param object $object * @return array */ public function extract($object); /** * Hydrate $object with the provided $data. * * @param array $data * @param object $object * @return void */ public function hydrate(array $data, $object); }
Просто создайте экземпляр гидратора и передайте в него необходимые данные.
use Zend\Stdlib\Hydrator; $hydrator = new Hydrator\ArraySerializable(); $object = new ArrayObject(array()); $hydrator->hydrate($someData, $object); // or, if the object has data we want as an array: $data = $hydrator->extract($object);
Zend\Stdlib\Hydrator\ArraySerializable
Определяет ArrayObject. Объекты должны реализовать один из методов «exchangeArray()» или «populate()» для поддержки гидратации, и метод «getArrayCopy()» для возможности извлечения данных.
Zend\Stdlib\Hydrator\ClassMethods
Любой ключ, совпадающий с методом «setter» - для добавления (гидратации) или извлечения данных.
Zend\Stdlib\Hydrator\ObjectProperty
Любой ключ, совпадающий с публично доступными свойствами будет гидратирован.