在控制我可以利用路由参数$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被称为路由发生之前的地方,所以没有任何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; } ); } }
文章来源: How to get parameters from Route in ZF2 module? (class Module, function onBootstrap())