在控制器中我可以使用$this->params()->fromRoute('param1')
来从路线获取参数
我怎么能在Module OnBootstrap()函数中做到这一点?
namespace MyModule;
use Zend\EventManager\EventInterface;
class Module
{
public function onBootstrap(EventInterface $event)
{
// here I need to get parameter from route
}
}
答案 0 :(得分:12)
正如user2257808在他的评论中所说,onBootstrap在路由发生之前被调用,因此没有任何RouteMatch可以获得。他建议加入EVENT_RENDER,这可能为时已晚。
我会做这样的事情,附加到MvcEvent::EVENT_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;
}
);
}
}