foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

CakePHP Controller::set() に連想配列を渡すと camelCase されてしまう

環境

問題

Controller::set() に連想配列を渡すとビュー変数の名前が camelCase になってしまう。
そのため下記のコードでは2つのビュー変数ができる。

<?php
$this->set(compact('item_name'));     // $itemName
$this->set('item_name', $item_name);  // $item_name
?>

対策

Controller::set() の第1引数へ連想配列を渡してはいけない。