10

TLDR: HtmlHelper を使用してビューで URL を作成する方法と同様に、コントローラーで URL を作成するにはどうすればよいですか?


問題:

コントローラーでコントローラー アクションの URL を出力したい (ビューではなく、コントローラーで JSON 文字列を作成するため)

ではViewを使用できます$this->Html->url()が、コントローラーではどうでしょうか。

APP_DIR+ Controller name + Controller actionのような定義済みの定数を使用する必要がありますか?)

4

1 に答える 1

37

Router クラスを使用します。

$url = Router::url([
    'controller' => 'Articles',
    'action' => 'index',
    '?' => ['page' => 1],
    '#' => 'top'
]);

または同じことですが、より一般的/単純なシナリオでは:

$url = Router::url(['controller' => 'Articles', 'action' => 'index']);

注: Cake2.x では、"Articles" は小文字になります。


CakePHP 2.x ルーターのドキュメント

CakePHP 3.x の「URL の生成」ドキュメント

于 2012-08-11T14:57:50.797 に答える