Laravel 避免 Trying to get property of non-object 错误的六种方法
return $user->avatar->url;1. 常规方法是使用 isset 加以判断:
isset 加以判断:if(isset($user->avatar->url))
return $user->avatar->url;
else
return 'defaultUrl';{{ $user->avatar->url or 'defaultUrl' }}echo e(isset($user->avatar->url) ? $user->avatar->url : 'defaultUrl');2. PHP7 可以使用 ?? (NULL 合并操作符) :
PHP7 可以使用 ?? (NULL 合并操作符) :// 如果 $user->avatar->url 为 null, 返回 'defaultUrl'
return $user->avatar->url ?? 'defaultUrl';3. Laravel 5.5 及以上可以使用 optional 辅助函数:
Laravel 5.5 及以上可以使用 optional 辅助函数:4. 使用 object_get 辅助函数
object_get 辅助函数5. 使用 data_get 辅助函数
data_get 辅助函数6.除此之外,还可以使用 Null Object Pattern(空对象模式):
Null Object Pattern(空对象模式):Last updated