CakePHP

【CakePHP2】現在のコントローラー名やアクション名を取得する方法

2015/01/11

以前 CakePHP1.3 での取得方法をポストしましたが、今回は CakePHP2.x での、コントロラー名やアクション名、URLの取得方法。

CakePHPのバージョンは2.3.6 でテスト。
http://magicmissile.localhost/posts/article?keyword=%E3%82%AD%E3%83%A4%E3%83%8E%E3%83%B3
という URL でテストしてみました。

コントローラーで

コントローラー名の取得

[php]
$this->name
[/php]

Posts

※1文字目は大文字

アクション名の取得

[php]
$this->action
[/php]

article

Webrootの取得

[php]
$this->webroot
[/php]

/

※スラッシュのみ

現在の位置(URL)を取得

[php]
$this->here
[/php]

[php]
Router::url();
[/php]

/posts/article

※絶対パスが返る

[php]
Router::url('', true)
[/php]

http://magicmissile.localhost/posts/article

※第一引数に何も指定せず、第ニ引数を「true」とすると、現在のURLがhttpつきで返る

ビューで

現在の位置(URL)を取得

[php]
$this->Html->url()
[/php]

/posts/article

※絶対パスが返る

[php]
$this->Html->url('/', true);
[/php]

http://magicmissile.localhost/

※第一引数を「/」、第二引数を「true」とすると、httpからのルートURLが返る

[php]
$this->Html->url('', true);
[/php]

http://magicmissile.localhost/posts/article

※第一引数に何も指定せず、第ニ引数を「true」とすると、現在のURLがhttpつきで返る

-CakePHP
-,