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

NHG*_*NHG 10 php parameters routing controller symfony

哪种访问路由参数更快?

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

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

Tom*_*zyk 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
    }
  }
Run Code Online (Sandbox Code Playgroud)