CakePHP Controller::set() した変数がビューで参照できない
環境
- CakePHP 1.2.4.8284
問題
Controller::set() した変数がビューで参照できない。
ところが、一部の変数は参照できたりもする。
解決方法
Controller::set() で指定したキー名が snake_case の場合、ビューでは camelCase で参照する。
補足
Controller::set() では以下の使い方ができる。
- $this->set('snake_case', 1);
- $this->set(array(...));
第1引数にキーを渡した場合は、渡した名前のまま設定される。
第2引数に配列を渡した場合は、配列のキー名が camelCase に変わって設定される。
つまり、渡し方によってビューで参照する名前が変わってしまう。
感想
これは CakePHP のバグなんじゃないかな〜と思ったりする。
名前を変換する必要なんてあるんだろうか?
変換処理の手間が報われる状況というのが思いつかない…。