2

$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
    }
}
4

1 に答える 1

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;
            }
         );

    }
}
于 2013-04-26T05:30:07.970 に答える