我正在开发一个Web服务,其中的实体是从另一个ReST Web服务中检索的。
现在我从控制器中基于Guzzle的服务获取数据,并通过使用Serializer进行非规范化来保护我的实体
$customer_api = $this->container->get('customer_api');
$data = $customer_api->getCustomer([
"customerId" => $id_customer,
]);
$customer = Customer::hydrate($data);
这里有水合物功能
public static function hydrate($data)
{
$encoders = array(new JsonEncoder());
$normalizers = array(new GetSetMethodNormalizer());
$serializer = new Serializer($normalizers, $encoders);
$entity = $serializer->denormalize($data, get_called_class());
return $entity;
}
随着我对代码的深入了解,我开始需要一些实体来加载其他实体。但据我所知,将容器访问模型非常糟糕
如何重构这个,所以我可以使用模型构造函数
$customer = new Customer($id_customer);