10

哪个访问路由参数更快?

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

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

4

2 回答 2

15

有人可能会争辩说,由于您需要Request从容器中拉出对象,因此它的方法较慢,但我两者都做了,差异可以忽略不计。当您需要Request对象时,最好将其作为控制器方法参数,因为您将立即拥有它,并且 PHP 类型提示将在体面的 IDE 中提供附加信息(自动完成等)(我个人推荐 PHPStorm)。这也适用于其他控制器方法参数,给您直接变量,无需从其他地方拉两次。

class SthController extends Controller
  {
  public function indexAction(Request $request, $arg1, $arg2)
    {
    // you have $request object with type hint and all goodness
    }
  }
于 2013-03-15T20:53:54.450 回答
-1

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

于 2014-12-02T08:53:39.040 回答