2017-11-30 21 views
0

私は現在ZF2からZF3にアップグレードしたいのですが、私のPhpRendererでURL​​パラメータを使用する場合、次の問題があります。私はその後、MvcEvent、最終的にrouteMatchApplicationを取得するためにHelperPluginManagerを使用ZF2にZF3:PhpRendererのURLパラメータを読み込みます

$routeMatch = $this 
    ->getHelperPluginManager() 
    ->getServiceLocator() 
    ->get('Application') 
    ->getMvcEvent() 
    ->getRouteMatch(); 

$parameterAction = $routeMatch->getParam('action'); 

ZF3ではそれだけで返すので理にかなってgetServiceLocator()を(使用して非推奨の警告がありますcreationContextはServiceManagerからです)。私は警告を引き起こさない方法を見つけたい。

ので、またない作品(\Zend\Mvc\Service\ApplicationFactory::classを使用して)工場出荷時に使用するクラスとしてApplicationを設定します:Zendの\ビュー\ HelperPluginManagerが唯一のZend \ビュー\ヘルパー\ HelperInterfaceおよび/または呼び出し可能オブジェクトのインスタンスを作成することができます

Applicationのテンプレートをテンプレートに入れる方法はありますか?

答えて

0

あなたの質問のタイトルは "ZF3:PhpRendererのURLパラメータを読み出す"ですが、あなたの質問の中に別の質問をしました。

あなたが任意のコントローラ(ZF3でURLパラメータを取得)でこれを取得することができます:あなただけの使用MvcEventを持っている場合、routeMatchについては

$URLparam = (string)$this->params()->fromQuery('parameter', ''); 
+0

おかげのようなビューヘルパーを除く方法はありません。私はControllerコンテキストではなく、View PhpRendererにいます。コントローラからビューコンテキストに変数を「注入する」ことは可能であるようです。 PhpRendererでこれらのパラメータを直接取得する可能性はありますか? –

0

$event->getRouteMatch() 

コンテナがある場合は、

$container->getApplication()->getMvcEvent()->getRouteMatch(); 

ビューでrouteMatchにアクセスする場合のヒントについてtasmaniski/zend-current-route

関連する問題