モジュール、コントローラ、およびビューを使用してURLを生成する方法は?

モジュール、コントローラ、およびビュー名がわかっている場合、zendで完全なURLを生成する方法はありますか?

ベストアンサー

表示操作(通常)によって決定されるため、モジュール、コントローラ、アクションを意味しているとします。

In the view:

echo $this->url(array('module' => $module, 
                      'controller' => $controller, 
                      'action' => $action));

どのパラメータも設定されておらず、デフォルト値は現在の値です。

echo $this->url(); //link for the current request

また、この関数は url($ urlOptions、$ name、$
reset)
の2つの引数を受け入れます。 $ name はルート名を指定し、 $
reset
は現在のパラメータの生成されたURLを消去します。

In the controller:

これは実際には文書化されていませんが、リダイレクタヘルパーの構造に従います(実際には、リダイレクタヘルパーによって使用されていると思います)。

$url = $this->getHelper('url')->simple($action, $controller, $module, $params);

ビューヘルパーに続く url()メソッドを使用することもできます。

$url = $this->getHelper('url')->url(array('module' => $module, 
                                          'controller' => $controller, 
                                          'action' => $action));

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です