Php 如何实现Yii CActiveDataProvider解析复杂表达式?

Php 如何实现Yii CActiveDataProvider解析复杂表达式?,php,yii,Php,Yii,我试图实现一些类似于Yii-cactivedaptaprovider解析复杂表达式的方法。以下面的代码为例,我基本上希望能够在值中指定类似“dateM j,Y,$data->create_time”的内容 有人知道Yii中的哪个类可以提供良好的洞察力吗?我上了一节课,但运气不太好 $this-widget('zii.widgets.grid.CGridView', array( 'dataProvider'=$dataProvider, 'columns'=array( 'title',

我试图实现一些类似于Yii-cactivedaptaprovider解析复杂表达式的方法。以下面的代码为例,我基本上希望能够在值中指定类似“dateM j,Y,$data->create_time”的内容

有人知道Yii中的哪个类可以提供良好的洞察力吗?我上了一节课,但运气不太好

$this-widget('zii.widgets.grid.CGridView', array(
'dataProvider'=$dataProvider,
'columns'=array(
    'title',          // display the 'title' attribute
    'category.name',  // display the 'name' attribute of the 'category' relation
    'content:html',   // display the 'content' attribute as purified HTML
    array(            // display 'create_time' using an expression
        'name'='create_time',
        'value'='date("M j, Y", $data-create_time)',
    ),
),

)

是否要创建一个可以计算PHP表达式的小部件

CDATA列也使用此方法。您可以看到CDATA列如何在方法中使用它

正如您看到的方法内部的代码一样,它使用和

如果您使用PHP5.3,您可以使用匿名函数来实现这一点。e、 g

$this-widget('zii.widgets.grid.CGridView', array(
    'dataProvider' = $dataProvider,
    'columns' = array(
        'title',          // display the 'title' attribute
        'category.name',  // display the 'name' attribute of the 'category' relation
        'content:html',   // display the 'content' attribute as purified HTML
        array(            // display 'create_time' using an expression
            'name' => 'create_time',
            'value' => function($data){
                return date("M j, Y", $data->create_time);
            }
        ),
    ),
));

看起来答案可能在这里?谢谢佩特拉的回复。基本上,我想创建自己的评估