我怎样才能更简洁地重写这个表达式?

时间:2017-01-25 16:58:03

标签: php yii2

重写此表达式的更简洁方法是什么。

$user = $user ? $user : Yii::$app->getUser()->identity;

3 个答案:

答案 0 :(得分:1)

在PHP> = 7中,您可以使用Null coalescing operator

$user = $user ?? Yii::$app->getUser()->identity;

答案 1 :(得分:1)

$user = $user ?: Yii::$app->user->identity;

答案 2 :(得分:0)

如果您只想缩短一点,可以使用或。

$user || $user = Yii::$app->getUser()->identity;

如果您正在使用PHP 7,那么使用空合并运算符作为AbraCadaver指出是有道理的。这就是它存在的主要原因。

但总的来说,我建议不要试图在缩短代码方面做太多“优化”。清晰度和可读性远比简洁更重要。