読者です 読者をやめる 読者になる 読者になる

A社の佐伯さんがのらりくらりと

A社の佐伯さんがのらりくらりと。インターネットと少しだけ生活のこと。

【CakePHP】HtmlHelperを使い現在のページのURLを取得する

f:id:cav_inet:20160122005453p:plain




自分自身のページURLを取得したい場合がある場合、
純粋なPHPで書く場合は$_SERVER['REQUEST_URI']で可能ですが
Cakephpではどうすれば良いのでしょうか

こういった場合に使用するのがヘルパーです

 

ヘルパーとは

ビュー(見た目の部分)の処理を効率化してくれるモジュール、お助け機能のことです。
HtmlHelper::url()は、因数からURLしてくれるモジュールです。
この第一引数を空にするとデフォルトで今開いているページのURLを返してくれます。

 

結論から言えばHtmlHelperを使用して

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

 

 

と記入すれば完了です。

第二引数のtrueはどちらでもよくて、つけたらドメイン名もついてくる、つけなかったらドメイン名は省いてくれる、って違いです。

//$this->Html->url(' ',true); だと
http://cav-inet/search/123

//$this->Html->url();だと
cav-inet/search/123

 って感じですね。

 


また、第一引数に配列を入れることで以下のように任意のURLを吐き出すことも可能です。

echo $this->Html->url(array(
"controller" => "foo",
"action" => "bar",
"fuga" => "hoge"
));

 

 時々使うので是非参考に。