Этот стиль называется условия йода.
По сути, он ведет себя так же, как и обычный стиль ( $variable === value
), но с одним преимуществом:
Компилятор выдает ошибку, если вы по ошибке пишете =
вместо ==
или ===
. Поскольку вы не можете переназначить константу (в примере значение null
), разработчик немедленно распознает ошибку из-за ошибки/предупреждения компилятора и, таким образом, освобождается от трудоемкого поиска ошибки.
Таким образом, следующая строка будет допустимой, хотя она не будет отображать предполагаемое поведение (в большинстве случаев):
if ( $var = null ) { echo 'test'; }
Хотя здесь отображается ошибка:
if ( null = $var ) { echo 'test'; }
Однако основным недостатком является потеря удобочитаемости с этим стилем. Но это зависит от читателя кода и некоторых других рекомендаций по стилю кодирования.
person
Sirko
schedule
13.06.2012