2012-06-04 6 views
0

나는 해결책을 찾기 위해 높은 곳과 낮은 곳을 찾고 있었지만, 필요한 곳을 찾지 못했습니다. 그것은 내가 옳은 것을 찾지 않고있는 것일 수도 있습니다. 사용자가 ID를 사용하여 각 URL에 자신을 가져 오지 않는 프론트 엔드를 들어요청 매개 변수없이 symfony 2 경로를 문맥화하는 방법

//routing.yml 
view_user: 
    pattern: /user/{id}/ 
    defaults: { _controller: AppBundle:User:view } 

//UserController.php 
use Sauce\AppBundle\Entity\User; 

public function viewAction(User $user) 
{ 
    $user->getSauce(); 
} 

이 아무튼 : 내 응용 프로그램의 관리 백엔드

, 나는 현재이 같은 컨트롤러에 대한 사용자를 잡아 일하지 마라. URL에 ID가 없어도 가능합니까? 사용자가 쉽게 사용할 수 있도록하는 방법에 내 첫번째 생각은 같은 것입니다 :

/** 
* A fast way to grab the user throughout this class. 
*/ 
public function getUser() { 
    return $this->get('security.context')->getToken()->getUser(); 
} 

public function viewAction() 
{ 
    $user = $this->getUser(); 

    ... 
} 

그러나 이것은 나에게, 심포니 2 기준 아래의 방법을 보인다. 나는 좀 더 우아한 것을 간과해야한다. 거기에 어떤 통찰력?

답변

0

네, 도우미 메서드를 만드는 것이 길입니다. DRY 상태를 유지하려면 기본 컨트롤러로 옮길 수 있습니다. 내 abstract base controller은 이러한 방법을 제공합니다.

내가 알고있는 "마법의"방법이 없습니다.

관련 문제