Zend\Stdlib\Hydrator

Zend\Stdlib\Hydrator
Um objeto Hydrator possui o método hydrate(), que espera dois parâmetros. O primeiro é um array contendo várias sequências de referência ligadas à um valor cada, e o segundo parâmetro é um objeto qualquer. O que irá acontecer no processo do método é inserir o valor de cada referência no atributo que possui o mesmo nome daquela referência.
Como exemplo, se fizéssemos um hydrate entre um array(“name” => “Computer”, “amount” => 10) e um objeto Product com os atributos name e amount, o resultado seria o atributo name do objeto product com valor computador e o atributo amount com o valor 10.
Abaixo segue um bloco de códigos referentes a uma busca em um controller. Repare que ele faz a busca usando um select, normalmente, e depois captura o ResultSet dessa busca e faz um hydrate entre ele e um objeto da classe Objeto. O resultado com certeza é um objeto populado com o valores do ResultSet.
class ExampleController extends AbstractActionController
{
  $adapter = $this->getServiceLocator()->get(‘Zend\Db\Adapter\Adapter’);
  $select = new Sql($adapter, ‘product’)->select();
  $select->where(array(‘id’ => ‘12’));
  $select->order(‘name desc’);
  $rowset = $productModel->selectWith($select);
  $row = $rowset->current();
  $objeto = new Entity\Product();
  $hydrate = new Zend\Stdlib\Hydrator\ClassMethods(true);
  $hydrate->hydrate($row->getArrayCopy(), $objeto);
  return array();
}

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s