【CakePHP】HtmlHelperを使い現在のページのURLを取得する
自分自身のページ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"
));
時々使うので是非参考に。