Возможный дубликат:
php ложное место в состоянии
Я заметил, что много PHP-кода использует условные выражения, такие как CONST == VARIABLE. Я вырос с синтаксисом, всегда сформулированным в обратном порядке. Есть ли причина для этой структуры?
Пример:
// this is the way I see it most typically represented in PHP if ( false == $foobar ) { // do this } // this is the way I normally do it if ( $foobar == false ) { // do this }
Это делается для предотвращения общей опечатки между ==
и =
, известной как условие йоды. Рассмотрим следующее:
if( false = $foobar) {
Это приведет к ошибке, поймав то, что будет считаться ошибкой, поскольку вы не можете присваивать что-либо false
. Напротив:
if( $foobar = false) {
Это допустимый синтаксис, и это довольно простая ошибка.
Тем не менее, я обычно предпочитаю синтаксис if( $foobar == false)
, поскольку модульные тесты должны улавливать эти программные ошибки.
То, как вы обычно это делаете, точно так же, как это делают большинство программистов. Первый пример называется условием йоды:
http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html
и не является нормой.