讨论数量:
$request->user()?->id ? : $request->ip();
其中第一个?
是php8的新特性,nullsafe
运算符, 如果链条中的一个元素失败了,整个链条会中止并认定为 Null. a ? a : b
是三元运算符,有a
取a
,没有取b
.
先拿用户id,没有就拿ip值先 ?-> 相当于
$user = $request->user();
if (is_null($user)) {
return null;
}
return $user->id;
再 ?:
$request->user()?->id // nullsafe,PHP8新特性,如果访问不到 id 属性返回 null,避免报错
?: $request->ip() // PHP7 语法糖,等同于 $request->user()->id ? $request->user()->id : $request->ip
其中第一个
?
是php8的新特性,nullsafe
运算符, 如果链条中的一个元素失败了,整个链条会中止并认定为 Null.a ? a : b
是三元运算符,有a
取a
,没有取b
.