Заказ в условных операторах

Возможный дубликат:
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

и не является нормой.