symfony2获取路由参数(控制器参数与请求)

时间:2013-03-15 20:27:09

标签: php symfony parameters routing controller

哪种访问路由参数更快?

  1. 将路由参数作为控制器参数
  2. $this->getRequest()->get('param')
  3. 获取路线参数

    那请求对象呢?更好的方法是将请求对象作为控制器参数或在控制器对象上调用getRequest()方法?

2 个答案:

答案 0 :(得分:15)

有人可能会争辩说,因为你需要从容器中拉出Request对象,所以它的方法较慢,但我已经做到了两者,差异可以忽略不计。当你需要Request对象时,最好将它作为控制器方法参数,因为你会立即拥有它,PHP Type Hinting将在不错的IDE中提供额外的信息(自动完成等)(我个人推荐PHPStorm) 。这也适用于其他控制器方法参数,给你直接变量,不需要从其他地方拉两次。

class SthController extends Controller
  {
  public function indexAction(Request $request, $arg1, $arg2)
    {
    // you have $request object with type hint and all goodness
    }
  }

答案 1 :(得分:-1)

我认为你应该使用getRequest()方法,因为它更具动态性!