Php 如何将URL参数放入";“参数”;ZF2控制器的控制器插件?

Php 如何将URL参数放入";“参数”;ZF2控制器的控制器插件?,php,zend-framework2,params,Php,Zend Framework2,Params,我使用的是ZF2模块,但我没有使用完整的ZF2框架堆栈 我需要能够将GET参数从URL字符串拉入控制器 我创建了一个扩展ZF2的AbstractActionController的控制器。阅读之后,我使用了print$this->params('line')尝试打印$\u获取['line']值,但没有显示任何内容 简言之,这应该是有效的,但没有: //print$\u GET['line']的ZF2等价物(任何一个都可以) 打印$this->params('line'); 打印$this->get

我使用的是ZF2模块,但我没有使用完整的ZF2框架堆栈

我需要能够将
GET
参数从URL字符串拉入控制器

我创建了一个扩展ZF2的
AbstractActionController
控制器。阅读之后,我使用了
print$this->params('line')
尝试打印
$\u获取['line']
值,但没有显示任何内容

简言之,这应该是有效的,但没有:

//print$\u GET['line']的ZF2等价物(任何一个都可以)
打印$this->params('line');
打印$this->getEvent()->getRouteMatch()->getParam('line');
我想这是由于缺乏从
$\u GET
填充
参数的机制造成的。如何将ZF2机制的这一部分输入到代码中

这值得麻烦吗?例如,如果我需要引入路由、事件,并将整个ZF2框架引入到我的代码中,并显著地重新布线我的应用程序以使其工作,那么我可能只想坚持使用
$\u GET
方法,至少现在是这样。

您可以尝试

print $this->params()->fromQuery('line');

根据这个

我不确定这是否是一个很好的答案,但它至少可能是有用的。所以,免责声明:我没有尝试这个

因此,您扩展了
AbstractActionController
,这很好,因为它充满了功能。
AbstractActionController
实现了一系列接口,使控制器能够侦听MvcEvents、使用服务定位器等。如果您没有向控制器提供ServiceLocator等,则扩展
AbstractActionController
是没有意义的。改用
DispatchableInterface
!此外,请阅读以下内容:


现在,如果您确实想使用
AbstractActionController
的功能,您将需要\Zend\Mvc包。所有的特性或开销都会带来哪些?哪种情况取决于您的应用程序。请注意,Zend MVC应用程序实际上性能非常好,但是如果您不打算重用这些组件,那么没有它们可能会更好。该手册实际上说明了如何引导Zend MVC:。如果您成功地进行了引导,您应该很好,并且能够使用您的控制器。

Zend Framework因其模块化而备受赞誉。然而,实际上人们喜欢使用完整的堆栈。这很好,我认为这是最好的。但您是少数几个应该证明模块化是框架核心的例子之一。我很好奇这个问题的答案是什么。