No.184


【CakePHP】Htmlヘルパーのリンク引数記述方法

Htmlヘルパーのurl(link)関数でURLにパラメータを渡す

 CakePHPのHtmlヘルパーは引数の記述ルールが「???」なものが多い。

 個人的には特にurl関数とlink関数が死ぬほど嫌いだ。たぶん生理的なものなので異論は受け付ける。

 まあ、気を取り直してヘルパーでURLを作成する時に引数を渡す方法をメモしておこう。また忘れると思うし。


記述位置

 url関数とlink関数でリンク先を記述するのは、それぞれ引数の

関数名 引数の位置
url 1番目
link 2番目

 となる。


記述方法

 それぞれの関数に配列で引数の元を渡すのだが、その中のキーがcontrolleraction以外のものが引数として扱われる。
 引数名指定の有り無しで若干変わるが、基本的には同じだ。

 URLの第一引数に111、第二引数に222を渡したい場合は下記のようにする。

$this->html->url(array(
  'controller' => 'hoge',
  'action' => 'fuga',
  '111',
  '222'
));

 引数aaa111、引数bbb222を渡したい場合は下記のようにする。

$this->html->url(array(
  'controller' => 'hoge',
  'action' => 'fuga',
  'aaa' => '111',
  'bbb' => '222'
));

 分かれば単純。