2012-06-04 110 views
0

我一直在寻找解决方案的高低,但我并没有真正找到需要的东西。这可能只是因为我没有寻找正确的东西。如何在没有请求参数的情况下处理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(); 
} 

针对前端在用户不使用的ID在每个网址提取自己,这并未没有工作。有没有可能做到这一点,没有在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(); 

    ... 
} 

但这对我来说,似乎下面的Symfony 2标准的方式。我必须俯视更优雅的东西。那里有任何见解?

回答

0

是的,创建一个辅助方法是要走的路。您可以将其移动到基本控制器以保持干燥。我的abstract base controller提供了这种方法。

没有“魔术”的方式做到这一点我知道。

相关问题