Intereting Posts
Поиск с разделенным запятой значением mysql Как найти URL-адрес реферера при использовании перенаправления htaccess 404? получить метатег описания с помощью xpath Формат даты в формате Google Sitemap Вручную установить шаблон с помощью PHP в WordPress Как использовать модуль с PHP для добавления класса CSS в сетку изображений в зависимости от двух разных шаблонов? Почему apache не показывает ошибку 404, когда я отправляю заголовок 404 с php? Как отправить 500 ошибок внутреннего сервера из сценария PHP PHP и MYSQL отображают 1 запись с несколькими именами preg_match возвращает одинаковые элементы только один раз RuntimeException: невозможно создать каталог кэша (/ var / www / sonata / app / cache / dev) Godaddy – Codeigniter – Нет входного файла, указанного на сервере как paginate запрос mysql, который зависит от цикла for () Как сделать SOAP-вызов PHP с использованием класса SoapClient Выпадающее значение onchange для PHP

В чем смысл обратной записи (значение null === $) при проверке значения переменной?

Возможный дубликат:
PHP – обратный порядок в выражении if
Проверка нулевого – в каком порядке?

Изучение Zend Framework показало, что они выполняют все переменные проверки обратным образом:

public function setBootstrap($path, $class = null) { if (null === $class) { // instead of if($class === null) $class = 'Bootstrap'; } 

В чем причина этого?

Это также подходит для программирования на Java и C ++?

Solutions Collecting From Web of "В чем смысл обратной записи (значение null === $) при проверке значения переменной?"

некоторые люди считают, что это помогает им избегать писать сингл = (задание вместо сравнения для равенства)

Я считаю, что преимущество в этом гораздо меньше, чем потеря удобочитаемости (и, следовательно, ремонтопригодность!)

Люди, которые не проверяют свой код, могут опираться на этот трюк. И чтобы ответить на ваш вопрос, да, он подходит для большинства языков, которые получают свой синтаксис от C – я имею в виду подходящий, не рекомендуется.

Этот стиль называется условиями йоды .

В основном он имеет то же поведение, что и обычный ( $variable === value ) стиль, но с одним преимуществом:

Компилятор выдает ошибку в случае, если вы пишете = вместо == или === по ошибке. Поскольку вы не можете переназначить константу (в примере – null значение), разработчик сразу распознает ошибку из-за ошибки / предупреждения компилятора и, таким образом, освобождается от трудоемкого поиска ошибок.

Таким образом, следующая строка будет действительна, хотя она не будет показывать предполагаемое поведение (большую часть времени):

 if ( $var = null ) { echo 'test'; } 

Пока здесь показана ошибка:

 if ( null = $var ) { echo 'test'; } 

Однако основным недостатком является потеря удобочитаемости в этом стиле. Но это зависит от читателя кода и некоторых других правил стиля кодирования.

Это условие yoda, я не знаю о каких-либо выгодах, кроме того, что вы не можете присвоить значение переменной, когда вы случайно пишете, например

 if( $foo = "bar" ) 

Здесь ссылка для других примеров:

http://united-coders.com/christian-harms/what-are-yoda-conditions

В этом случае сравнение учитывает значение счета и тип значения. это строгое сравнение.

Например, этот код:

 if (null == "") { echo "null"; } 

Будет печатать «null», поскольку PHP обрабатывает «», 0, null, false как эквивалентные пустые значения, если только строгое сравнение не используется для сравнения фактического значения и типа самого значения.

Во-вторых, почему null === $ class используется потому, что вы не можете присвоить значение null. Если вы можете успешно совершить ошибку и присвоить $ class = null.