게임 앱을 개발 중이며 Symfony 2.0을 사용하고 있습니다. 백엔드에 많은 AJAX 요청이 있습니다. 그리고 더 많은 응답이 엔티티를 JSON으로 변환하고 있습니다. 예를 들면 :
class DefaultController extends Controller
{
public function launchAction()
{
$user = $this->getDoctrine()
->getRepository('UserBundle:User')
->find($id);
// encode user to json format
$userDataAsJson = $this->encodeUserDataToJson($user);
return array(
'userDataAsJson' => $userDataAsJson
);
}
private function encodeUserDataToJson(User $user)
{
$userData = array(
'id' => $user->getId(),
'profile' => array(
'nickname' => $user->getProfile()->getNickname()
)
);
$jsonEncoder = new JsonEncoder();
return $jsonEncoder->encode($userData, $format = 'json');
}
}
그리고 모든 컨트롤러는 동일한 작업을 수행합니다. 엔터티를 가져 와서 일부 필드를 JSON으로 인코딩합니다. 노멀 라이저를 사용하고 모든 엔터티를 인코딩 할 수 있다는 것을 알고 있습니다. 그러나 한 엔티티가 다른 엔티티에 대한 링크를 순환했다면 어떻게 될까요? 아니면 엔티티 그래프가 매우 큽니까? 의견 있으십니까?
엔터티에 대한 인코딩 스키마에 대해 생각합니다 ... 또는 NormalizableInterface
순환을 피하기 위해 사용 합니다 ..,