在 Zend Framework 2 的 Controller-Action 中获取 GET 参数的不同方式有什么区别?

What's difference between different ways to get GET parameter in Controller-Action in Zend framework 2?

我在 Zend Framework 2:

Controller > Action 中找到了几种获取 GET 参数的方法
 $this->params()->fromRoute('id');

 $this->params('id');

 $this->getRequest()->getQuery()->get('id');

这些方式有什么区别吗?

我想,params('id') 可能会同时给出 GETPOST 的值。 fromRoutegetQuery 只会给出 GET 的值,但是 fromRoute 可能会提供一些优势,比如卫生什么的?

$this->params()->fromRoute('id');

这使用 params plugin 和 returns 单个命名路由参数。这用于段路由中的参数(例如 /blog/:slug 中的 'slug' 或 /archive/:year/:month/:day 中的 'year')。

$this->params('id');

这只是 shorthand $this->params()->fromRoute('id');

$this->getRequest()->getQuery()->get('id');

这从查询字符串中获取一个值。