Я использовал тернарный оператор для выполнения очень простого условного действия. Это работало хорошо, но моя IDE (PHPStorm) сообщила об ошибке. Ошибка, которую я получил, была:
'void' method 'performAction' result used
Код, который я использовал, таков:
($this->doThis ? $class->performAction() : $class->performDifferentAction());
Ошибка в PHPStorm явно ошибочна; Я нигде не использую результат метода void. Я просто вызываю методы, и это работает, как и ожидалось. Я просто использовал тернарный оператор в качестве сокращения для этого:
if($this->doThis)
{
$class->performAction();
}
else
{
$class->performDifferentAction();
}
Я думаю, что это выглядит как допустимый вариант использования тернарного оператора. Он не запутан, легко читается и краток.
Это все-таки конструктивный недостаток?