Является ли действительно плохой практикой назначать переменную несколько раз, согласно предупреждению NetBeans?

У меня есть функция, которая в основном так:

        //Init variable
$ready = FALSE;

//if submit
filter_input(INPUT_POST, "submit") ?  $ready = TRUE : $ready = FALSE ;

//return the result
return $ready;

NetBeans предупреждает меня о нескольких назначениях. На других языках это вполне нормально. Это единственное предупреждение NetBeans, которое я получаю. Этот код можно использовать?

1

Решение

Вы можете упростить свой код до одного присваивания, чтобы вам даже не понадобился троичный оператор:

$ready = filter_input(INPUT_POST, "submit");
0

Другие решения

Подумай о троичном операторе ?: как вызов функции:

$var = decideOnValue($condition, $valueIfConditionTrue, $valueIfConditionFalse);

и вы поймете, почему Netbeans генерирует эти предупреждения.

Распространенные обычаи ?: оператором являются:

  • решить, какое значение присвоить переменной на основе условия, не прибегая к if/else сооружать
  • вызовите функцию или другую, основанную на условии, снова, чтобы сократить код

Делать больше, чем это опасно, так как это может привести к ошибкам. Для вашего конкретного примера, если у вас есть опечатка, и вы по ошибке напишите $redy = FALSE затем вы вводите небольшую ошибку, даже если код синтаксически корректен, и статический анализатор PHP, поставляемый с Netbeans, пытается этого избежать.

2

Вы можете переписать свой код так, чтобы он был немного меньше, и Netbeans не станет вас раздражать:

$ready = filter_input(INPUT_POST, "submit") ?  TRUE : FALSE;
return $ready;
0

Незначительное неправильное использование синтаксиса. Пытаться:

$ready = filter_input(INPUT_POST, "submit") ? true : false;

На этом этапе $ ready должен быть либо true, либо false, поэтому нет необходимости предварительно инициализировать значение false.

0
По вопросам рекламы [email protected]