for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Marek\Toggable\Hydrator;
/**
* Class AggregateHydrator
* @package Marek\Toggable\Hydrator
*/
class AggregateHydrator implements HydratorInterface
{
* @var HydratorInterface[]
private $hydrators;
* @param \Marek\Toggable\Hydrator\HydratorInterface $hydrator
public function add(HydratorInterface $hydrator)
$this->hydrators[] = $hydrator;
}
* {@inheritdoc}
public function extract($object)
foreach($this->hydrators as $hydrator) {
if ($hydrator->canHydrate($object)) {
return $hydrator->extract($object);
return $object;
public function hydrate(array $data, $object)
return $hydrator->hydrate($data, $object);
return $data;
public function canHydrate($object)
return true;