Содержание


Stdlib, Hydrator


Stdlib, Hydrator, ЗФ2, Zend Framework 2, ZF2, ру, ru




Гидратация (Hydration) -  это процесс заполнения объекта из набора данных .

 

Компонент Hydration – предоставляет механизмы как для добавления данных так и для их извлечения из объекта.

 

Состоит из интерфейса и нескольких дополнительных реализаций, упрощающих работу с гидратацией.

 


HydratorInterface

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

 

Любой ключ, совпадающий с публично доступными свойствами будет гидратирован.