for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace GFG\DTOContext\Factory;
use GFG\DTOContext\Context;
class Hydrator implements HydratorInterface
{
/**
* {@inheritdoc}
*/
public function hydrate(
Context\ContextInterface $context,
array $rawData
) {
if (!isset($rawData['info'])) {
$rawData['info'] = [];
}
$this->validateRawData($rawData);
$context->setName($rawData['name'])
->setFullInfo($rawData['info'])
->setHash($rawData['hash']);
public function validateRawData(array $rawData)
if (count(array_diff(
['name', 'data_wrapper', 'info', 'hash', 'data'],
array_keys($rawData)
))) {
throw new \InvalidArgumentException(
'Invalid data to hydrate context: ' . json_encode($rawData)
);