PHP поддерживает альтернативный синтаксис для некоторых управляющих конструкций, а именно для: if, switch, while, for и foreach . Основная форма альтернативного синтаксиса заключается в замене открывающей фигурной скобки на двоеточие ( : ), завершающая фигурная скобка заменяется на ключевое слово endif, endswitch, endwhile, endfor и endforeach , которое соответствует используемой конструкции.
При использовании в управляющих конструкциях альтернативного синтаксиса, фигурные скобки не ставятся, даже если используется несколько инструкций. После условия ставится двоеточие, после которого указывается одна или более инструкций, в самом конце, для указания завершения общей конструкции используется ключевое слово endif .
Замечание : если для определения нескольких условий if/elseif используется альтернативный синтаксис, в этом случае можно использовать только elseif в одно слово, т.е. вы не должны разделять else if в два слова, так как это вызовет фатальную ошибку в PHP.
Смешивание двух видов синтаксиса в одной конструкции не поддерживается, это правило относится ко всем операторам указанных в этой главе.
Правила альтернативного синтаксиса описанные в этом разделе также действуют и для остальных управляющих структур. Поэтому ниже будут просто приведены примеры.
Содержание
- switch
- while
- Дополнительные сведения
- echo $ x ; $ x ++;?>
- echo $ z ;?>
- 5 последних уроков рубрики «PHP»
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
switch
while
Обратите внимание, для вложенных конструкций, может применяться и синтаксис включающий фигурные скобки, но так делать не рекомендуется, так как это снижает читаемость кода.
Дополнительные сведения
Теперь рассмотрим вопрос о том, когда лучше использовать альтернативный синтаксис, а заодно вы узнаете, как еще можно использовать управляющие конструкции.
Приведем простой пример:
В приведенном примере, блок HTML-кода «A равно 5» вложен внутрь конструкции if написанной с альтернативным синтаксисом. HTML-блок будет показан только в том случае, если переменная $a будет равна 5 .
Как вы уже могли догадаться из примера выше, альтернативный синтаксис можно использовать для вставок в HTML-разметку. Так как в этом случае код php и html будут разделены, это упрощает верстку страницы.
Рассмотрим примеры для других конструкций:
Конечно не обязательно использовать представленный синтаксис, можно пользоваться и стандартной записью, с использованием фигурных скобок, но в этом случае код будет менее читабельным.
Синтаксис оператора foreach и его альтернативная запись будут рассмотрены позднее, а именно во время изучения массивов и объектов.
Вы уже наверняка знаете, как осуществляется вставка HTML-кода в тело сценария. Для этого достаточно просто закрыть скобку ?>, код, а затем снова открыть ее при помощи name ):?>
Привет, name ?> !
method=get>
Ваше имя:
«Отослать!» >
Согласитесь, что даже человек, совершенно не знакомый с PHP, но зато хорошо разбирающийся в HTML, легко сможет понять, что к чему в этом сценарии. Рассмотрим альтернативный синтаксис для некоторых конструкций в контексте использования его совместно с HTML:
Альтернативный синтаксис для if-else
Общий вид альтернативного синтаксиса для if-else такой:
Альтернативный синтаксис для цикла while
Пример использования альтернативного синтаксиса для цикла while:
echo $ x ; $ x ++;?>
Альтернативный синтаксис для цикла for
Пример использования альтернативного синтаксиса для цикла for:
echo $ z ;?>
Как мы видим, использование альтернативного синтаксиса позволяет сделать сценарии PHP удобочитаемыми в тех случаях, когда необходимо активно оперировать PHP совместно HTML-кодом.
Частенько можно увидеть различный стиль написания того или иного оператора. В частности многие не могут определить в каких ситуация целесообразней использовать if с фигурными скобками, а когда с двоеточием.
Оператор с фигурными скобками следует использовать в файлах, где у вас кроме PHP кода больше ничего нет, а вот альтернативный синтаксис подойдёт для файлов шаблонов, где чистый HTML код не должен затрагиваться PHP стороной:
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://stackoverflow.com/questions/564130/difference-between-if-and-if-endif
Перевел: Станислав Протасевич
Урок создан: 9 Июля 2015
Просмотров: 7116
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Источник: