Използвах троичния оператор, за да изпълня много просто, условно действие. Работи добре, но моята IDE (PHPStorm) го отчете като грешка. Грешката, която получих беше:
'void' method 'performAction' result used
Кодът, който използвах, е следният:
($this->doThis ? $class->performAction() : $class->performDifferentAction());
Грешката в PHPStorm очевидно е грешна; Никъде не използвам резултата от метода void. Просто извиквам методите и това работи според очакванията. Току-що използвах троичния оператор като съкратено за това:
if($this->doThis)
{
$class->performAction();
}
else
{
$class->performDifferentAction();
}
Мисля, че това изглежда като валиден случай на използване на троичния оператор. Не е объркано, лесно се чете и е кратко.
Все пак това дефект в дизайна ли е?