Yii で便利な CGridView ですが、テーブルセルに任意のデータを出すコードとして、マニュアルのサンプル上はこんなふうに書いてあります。
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
array(
'name'=>'create_time',
'value'=>'date("M j, Y", $data->create_time)',
),
),
));
evalできる文字列って、これちょっとカッコ悪いですよね。
これ実は、最近のバージョンだけかもしれないけど、次のように書けるようになっています。
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
array(
'name'=>'create_time',
'value'=> function($data) {
return date("M j, Y", $data->create_time);
},
),
),
));
普通もう5.3未満なんてありえないので、クロージャでいいんじゃないですかね。PHPの文法として事前に評価されるし、エディタのハイライトも効くし、たぶん use で別の変数も束縛できるし。