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

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

2

1 答え

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

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));
3
追加された
各varsモジュール、コントローラ、およびアクションはオプションです。これを省略すると、レンダリングしているページの値がデフォルトになります。
追加された 著者 James C,
@トビー - あなたの質問に答えるなら、それを示すために「チェックマーク」を押す。
追加された 著者 Tim Lytle,
@ JamesC確かに、私はそれをクリアするリセットフラグを述べたが、私はデフォルト値がクリアされるように答えを更新します。
追加された 著者 Tim Lytle,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com