我正在使用ZF2模块,但我没有使用完整的ZF2框架堆栈。
我需要能够将GET
参数从URL字符串中提取到我的Controller中。
我创建了Controller
,扩展了ZF2的AbstractActionController
。阅读ZF2: Get url parameters in controller后,我使用print $this->params('line');
尝试打印$_GET['line']
值,但没有显示任何内容。
简而言之,这应该可行,但不会:
//ZF2 equivalents of print $_GET['line'] (either one should work)
print $this->params('line');
print $this->getEvent()->getRouteMatch()->getParam('line');
我想这是由于缺乏从params
填充$_GET
的机制。如何将ZF2机制的那部分放入我的代码中?
值得麻烦吗?例如,如果我需要引入路线,事件,并且几乎将整个ZF2框架带入我的代码中,并且显着重新连接我的应用程序以使其工作,我可能只想坚持$_GET
方法,至少现在。
答案 0 :(得分:2)
我不确定这是否是一个很好的答案,但它可能至少有帮助。所以,免责声明:我没试过这个。
所以你扩展了AbstractActionController
,这很好,因为它充满了各种功能。 AbstractActionController
实现了一个完整的接口列表,使控制器监听MvcEvents,使用服务定位器等。如果您没有为控制器提供ServiceLocator等,那么扩展{{}是没有意义的。 1}}。请改用AbstractActionController
!另外,请阅读:http://framework.zend.com/manual/current/en/modules/zend.mvc.controllers.html
现在,如果您确实想使用DispatchableInterface
的功能,则需要\ Zend \ Mvc包。其中包含所有功能或开销 - 具体情况取决于您的应用程序。请注意,Zend MVC应用程序实际上非常高效,但如果您不打算重用这些组件,那么没有它们可能会更好。该手册实际上指示了如何引导Zend MVC:http://framework.zend.com/manual/current/en/modules/zend.mvc.intro.html#bootstrapping-an-application。如果你成功引导,你应该没问题,并且能够使用你的控制器。
答案 1 :(得分:0)