動的に作成する必要があるメニューがあります (一部のブログ ページはデータベースから追加されます)。Zend\Navigation\Navigation を使用した ZF2 Dynamic Menuは、個々のコントローラー/アクションに対してこれを行う方法を説明しています。
しかし、モジュールの初期化の時点で、すべてのリクエストに対してこれをどのように行うべきでしょうか?
少なくとも routeMatch オブジェクト (言語パラメーターを取得するため) が必要であり、それを取得するために以下を見てきました。
public function onBootstrap(EventInterface $e)
{
$app = $e->getApplication();
$em = $app->getEventManager();
$em->attach(MvcEvent::EVENT_ROUTE, function($e) {
$routeMatch = $e->getRouteMatch();
});
}
しかし、ドキュメントには次のように書かれています。
「onBootstrap() メソッドは、この機能を実装するすべてのモジュール、すべてのページ要求で呼び出され、イベント リスナーの登録などの軽量タスクの実行にのみ使用する必要があります。」
Zend Framework 2 で動的ナビゲーション (またはその他のより複雑なロジック) を初期化するのに最適な場所と方法は何ですか?