哪个访问路由参数更快?
- 将路由参数作为控制器参数
- 获取路由参数
$this->getRequest()->get('param')
那么请求对象呢?更好的方法是将请求对象作为控制器参数或getRequest()
在控制器对象上调用方法?
哪个访问路由参数更快?
$this->getRequest()->get('param')
那么请求对象呢?更好的方法是将请求对象作为控制器参数或getRequest()
在控制器对象上调用方法?
有人可能会争辩说,由于您需要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
}
}
我认为您应该使用 getRequest() 方法,因为它更具动态性!