概要 CakePHPバージョン1.2.0.7296 RC2で確認。 AppController::set()のメソッドで第一引数だけに連想配列を指定したときはアンダースコアの入った変数名がキャメルケースに変換されてしまう。 例えば $hoge_fuga = 'piyo'; $this->set(compact('hoge_fuga')); のようにセットするとビューに$hoge_fugaという変数は定義されておらず、かわりに$hogeFugaにセットされる。 ソース解析 cake/libs/controller/controller.php:587 function set($one, $two = null) { $data = array(); if (is_array($one)) { if (is_array($two)) { $data = array_combine($one,
![setした変数名が勝手にキャメルケースにされる](https://cdn-ak-scissors.b.st-hatena.com/image/square/f269b3351f9a126002290488f81d3c26f08913cc/height=288;version=1;width=512/https%3A%2F%2Fwww.rainorshine.asia%2Fwp-content%2Fuploads%2F2018%2F01%2Fcakephp_original_wordmark_logo_icon_146609.png)