for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ZfcUser\Mapper;
use Zend\Stdlib\Hydrator\ClassMethods;
use ZfcUser\Entity\UserInterface as UserEntityInterface;
class UserHydrator extends ClassMethods
{
/**
* Extract values from an object
*
* @param object $object
* @return array
* @throws Exception\InvalidArgumentException
*/
public function extract($object)
if (!$object instanceof UserEntityInterface) {
throw new Exception\InvalidArgumentException('$object must be an instance of ZfcUser\Entity\UserInterface');
}
/* @var $object UserInterface */
$data = parent::extract($object);
if ($data['id'] !== null) {
$data = $this->mapField('id', 'user_id', $data);
} else {
unset($data['id']);
return $data;
* Hydrate $object with the provided $data.
* @param array $data
* @return UserInterface
public function hydrate(array $data, $object)
$data = $this->mapField('user_id', 'id', $data);
return parent::hydrate($data, $object);
protected function mapField($keyFrom, $keyTo, array $array)
$array[$keyTo] = $array[$keyFrom];
unset($array[$keyFrom]);
return $array;