Php 如何在Yii2模型中写出优雅的行为?

Php 如何在Yii2模型中写出优雅的行为?,php,web,yii2,Php,Web,Yii2,当我编写模型的方法行为时。返回值中定义了一些行为。请看以下代码: 'timestamp' => [ 'class' => 'yii\behaviors\TimestampBehavior', 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['submitTime'], ], 这意味着属性submitTime将自动生成。我想判断属性submitTime是否为空。它将在为

当我编写模型的方法
行为时
。返回值中定义了一些行为。请看以下代码:

'timestamp' => [
    'class' => 'yii\behaviors\TimestampBehavior',
    'attributes' => [
        ActiveRecord::EVENT_BEFORE_INSERT => ['submitTime'],
    ],
这意味着属性
submitTime
将自动生成。我想判断属性
submitTime
是否为空。它将在为null时生成。我的目标是:

'value' => function ($event) {
    if ($this->submitTime) {
        return $this->submitTime;
    }
    return time();
},

有没有一种优雅的方式来实现我的想法

您可以将其转换为一行:

'value' => function ($event) {
    return $this->submitTime ?: time();
},

我知道这个语法。还有一些不使用属性
值的其他方法
我不明白您真正想要的是什么。;)我对此一无所知。