I don't think there is currently any good way to do it... In PHP 5.3+ something like that might work:
public function setUserFromSocial( $user )
{
return {
'email' => @$user->email ?: $user->emailAddress ?: null,
'username' => @$user->username ?: $user->nickname : null,
'first_name' => @$user->first_name ?: $user->user['first_name'] : null,
'last_name' => @$user->last_name ?: null,
'locale' => @$user->locale ?: null;
};
}
Of course in PHP 7 you'll be able to clean it up even further:
public function setUserFromSocial( $user )
{
return {
'email' => $user->email ?? $user->emailAddress ?? null,
'username' => $user->username ?? $user->nickname ?? null,
'first_name' => $user->first_name ?? $user->user['first_name'] ?? null,
'last_name' => $user->last_name ?? null,
'locale' => $user->locale ?? null;
};
}