0

我一直在这里寻找解决方案的高低,但我并没有真正找到我需要的东西。可能只是我没有在寻找正确的东西。

对于我的应用程序的管理后端,我目前为这样的控制器获取用户:

//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 的标准。我必须忽略一些更优雅的东西。有什么见解吗?

4

1 回答 1

0

是的,创建一个辅助方法是要走的路。您可以将其移至基本控制器以保持干燥。我的抽象基础控制器提供了这样一种方法。

我知道没有“神奇”的方法可以做到这一点。

于 2012-06-04T11:22:47.127 回答