Doctrine2에 Symfony2를 사용하고 있습니다. (세션) 사용자의 언어에 장소의 정보 (공통 데이터 + 문자를)입니다EntityRepository의 세션 액세스
$place = $this->getDoctrine()->getRepository('TETestBundle:Place')->find($id);
그리고 그 장소에 : 나는 다음과 달성하고자합니다. 내가 수백 번 그렇게하려고 할 때, 저는 두 번째 매개 변수가 아닌 장면 뒤에서 그것을 전달하고 싶습니다. 영어 사용자는 영어로 장소 정보를, 스페인어로 스페인어 사용자를 봅니다.
하나의 가능성은 EntityRepository에서 앱의 로케일에 액세스하는 것입니다. 나는 그것이 서비스와 DI로 끝났음을 안다. 그러나 나는 그것을 이해할 수 없다!
// PlaceRepository
class PlaceRepository extends EntityRepository
{
public function find($id)
{
// get locale somehow
$locale = $this->get('session')->getLocale();
// do a query with the locale in session
return $this->_em->createQuery(...);
}
}
어떻게 하시겠습니까? & 확장 단계와 새로운 클래스를 약간 자세하게 설명해 주시겠습니까? 한 번 준비가되면이 번들 번들을 출시 할 계획입니다. :)
Thanks!
왜 처음에이 작업을하려는 이유에 대해 설명 할 수 있습니까? 일반적인 MVC 아키텍처에서 로케일과 같은 것들은 모델이 아닌 컨트롤러와 뷰의 책임입니다. 네가하려는 일을하는 더 좋은 방법이 있을지 궁금하다. –
@ tomtheman5 님이 질문을 업데이트했습니다. 감사! – fesja