我一直在寻找解决方案,但我并不是真的找到了我需要的东西。可能只是因为我没有找到正确的事情。
对于我的应用程序的管理员后端,我目前为这样的控制器抓取一个用户:
//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处获取自己的前端,这不起作用。是否可以在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 :(得分:0)
是的,创建一个帮助方法是要走的路。您可以将其移动到基本控制器以保持干燥状态。我的abstract base controller提供了这样一种方法。
我知道没有“神奇”的做法。