从 zf2 中的路由获取参数的最佳方法是什么

What is the best way to get parameters from a route in zf2

在 zf2 中有多种方法可以从路由获取参数。一对包括

$pageID = (int)$this->getEvent()->getRouteMatch()->getParam('pageID');

$pageID = (int) $this->params()->fromRoute('pageID', 0);

哪个最好,为什么?

$pageID = (int) $this->params()->fromRoute('pageID', 0);

这是控制器操作助手调用,应该在您的控制器内部使用。 助手内部

$this->getEvent()->getRouteMatch()->getParam()

被调用。

如您所见 - 两种方式都是合法的 - 助手调用,顾名思义,是一种让您免于打字的工具。

例如,您可以使用第一种方法在附加事件中获取参数,大多数情况下,您将某些东西附加到默认的 ZF2 事件,如调度、渲染...

问候