Zend 2で、必要な場所からURLを生成することができません。
私はアクションとコントローラーを取得するので、これを試してみます:
$this->url('myControllerName', array('action' => 'myActionName'));
しかし、これはオブジェクトを返します、私はこのルートの完全なURL文字列が欲しいだけです
誰かが私が適切な方法を見つけるのを手伝ってくれる?
編集:ストヤンによると、多分私は私のルートを間違えました。これが私のmodule.configの一部です
'router' => array (
'routes' => array (
'indexqvm' => array (
'type' => 'segment',
'options' => array (
'route' => '/Indexqvm[/:action][/:id_event]',
'constraints' => array (
'action' => '[a-zA-Z][a-zA-Z0-9_-]+',
'id_event' => '[0-9]+'
),
'defaults' => array (
'controller' => 'Qvm\Controller\Indexqvm',
'action' => 'index'
)
)
),
そして私の電話:
echo $this->url('indexqvm', array('action' => 'list-index'));
エラー:キャッチ可能な致命的なエラー:クラスZend\Mvc\Controller\Plugin\Urlのオブジェクトを文字列に変換できませんでした
$this->url(...)
(以下を参照)を呼び出す前にエコーを使用すると、URL全体が表示されます。
_<?php echo $this->url('route-name', $urlParams, $urlOptions); ?>
_
url()
の最初のパラメーターは、_[module]/config/module.config.php
_ファイルで指定されているルートの名前であることに注意してください。
ZF2のURLビューヘルパーの詳細については、 this を参照してください。
質問の編集に応じて編集します。
上記のセクションは、URLビューヘルパーの使用に関連しています。
コントローラにURLが必要な場合は、URLコントローラプラグインが必要です。
_<?php $url = $this->url()->fromRoute('route-name', $params, $options); ?>
_
This は、このコントローラープラグインのZF2マニュアルへの参照です。
お役に立てれば :)
ストヤン
これは.phtmlファイルで使用できます
echo $this->url('HelloWorld/default', array('controller'=>'Index', 'action'=>'registration'));
ここで、HelloWorld/defaultはルーティングであり、残りはコントローラーとそのアクションです。また、キーと値のペアとして配列に追加する他のパラメーターを送信することもできます。