Zend framework2 如何从ZF2模块中的路由获取参数?(类模块,函数onBootstrap())
在控制器中,我可以使用Zend framework2 如何从ZF2模块中的路由获取参数?(类模块,函数onBootstrap()),zend-framework2,Zend Framework2,在控制器中,我可以使用$this->params()->fromRoute('param1') 如何在模块OnBootstrap()函数中实现这一点? namespace MyModule; use Zend\EventManager\EventInterface; class Module { public function onBootstrap(EventInterface $event) { // here I need to get paramete
$this->params()->fromRoute('param1')
如何在模块OnBootstrap()函数中实现这一点?
namespace MyModule;
use Zend\EventManager\EventInterface;
class Module
{
public function onBootstrap(EventInterface $event)
{
// here I need to get parameter from route
}
}
正如user2257808在他的评论中所说,onBootstrap在路由发生之前被调用,所以没有任何路由匹配。他建议附加事件渲染,这在您的情况下可能太晚了 我会这样做,附加到
MvcEvent::EVENT\u DISPATCH
MyModule\Module.php
class Module {
public function onBootstrap(MvcEvent $e) {
$e->getApplication()->getEventManager()->attach(MvcEvent::EVENT_DISPATCH,
function($e){
var_dump($e->getRouteMatch());
exit;
}
);
}
}
你想完成什么?您无法在引导期间访问路由参数,因为路由尚未发生。您需要做的是将侦听器附加到
MvcEvent::EVENT\u RENDER
事件,以便等待路由发生,然后获取路由参数。oops,意思是EVENT\u route
如果当前路由不是“installer”,我想重定向到路由“installer”