Использование троичного оператора PHP для возврата определенного значения
Я гуглил это и уже просматривал переполнение стека. Я пытаюсь сократить свой код, и у меня есть этот рабочий метод ниже, я хочу переписать в троичном стиле. Может кто-нибудь сказать мне, если это возможно, и если так, что я делаю не так. Благодарю.
public function __get($field){ //refactor this using ternary method
if($field == 'user_id'){
return $this->uid;
} else {
return $this->fields[$field];
}
}
Я начал с этого:
($field == 'user_id') return $this->uid : return $this->fields[$field];
и это дает мне неожиданную ошибку возврата.
Я попытался использовать другое решение переполнения стека, которое перечислило возврат до значений, и это не сработало.
return $field == 'user_id' ? $this->uid : $this->fields[$field];
Это дает мне еще одну ошибку о неожиданной публикации, как будто мой метод закрывается некорректно.
1 ответ
Я собираюсь угадать, что-то вроде этого; Вы переделали свой код к этому:
public function __get($field){ //refactor this using ternary method
return $field == 'user_id' ? $this->uid : $this->fields[$field];
}
}
public function otherfunction() { /* ... */ }
Скобки не совпадают, и поэтому закрывает определение класса, а следующая ошибка парсера 'unexpected public'
:)