Урок посвящен основам синтаксиса скриптового языка PHP.
Первое, что нужно знать относительно синтаксиса PHP, – это то, как он встраивается в HTML-код, как интерпретатор узнает, что это код на языке PHP. PHP-скрипты встраиваются в HTML-код с помощью открывающего тега <?php и закрывающего тега ?>. Иногда используется сокращенный вариант <? ?>.
Программа на PHP – это набор команд (инструкций). Обработчику программы (парсеру) необходимо как-то отличать одну команду от другой. Для этого используются специальные символы – разделители. В PHP каждое выражение заканчивается точкой с запятой.
Закрывающий тег » ?> » также подразумевает конец инструкции, поэтому перед ним точку с запятой можно не ставить. Например, два следующих фрагмента кода эквивалентны:
<?php // точка с запятой в конце команды обязательна echo "Hello, world!"; ?> <?php echo "Hello, world!" ?> <!-- точка с запятой опускается из-за "?>" -->
Внутри двойных кавычек распознаются специальные управляющие комбинации, состоящие из двух символов, первый из которых — обратный слэш (\). Наиболее часто используются следующие управляющие символы:
- \r — возврат каретки (CR)
- \n — перевод строки (NL)
- \» — двойная кавычка
- \$ — символ доллара ($)
- \\ — собственно, обратный слэш (\)
Символы \r и \n обычно используются вместе, в виде комбинации \r\n — так обозначается перевод строки в Windows и многих TCP/IP-протоколах. В Unix новая строка обозначается одним символом \n; обычно такой способ перевода строки используется и в HTML-документах (это влияет только на HTML-код, но не отображение в браузере (если только текст не заключен в пару тэгов <pre>…</pre>): для отображаемого перевода строки, как известно, используется тэг <br>).
Оставшиеся три пункта из приведенного списка применения обратного слэша являются примерами экранирования — отмены специального действия символа. Так, двойная кавычка обозначала бы конец строки, символ доллара — начало имени переменной, а обратный слэш — начало управляющей комбинации. При экранировании, символ воспринимается «как он есть», и никаких специальных действий не производится.
Принцип экранирования в PHP используется во многих случаях.
Если в следующем примере кавычки заменить на одинарные, в браузере отобразится именно то, что внутри них написано ($firstname, $lastname):
<?php $lastname = 'Oswald'; $firstname = 'John'; $message = "Hello $firstname $lastname!"; echo $message; ?>
Комбинации символов, начинающиеся с \, в одинарных кавычках также никак не преобразуются, за двумя исключениями: \’ — одинарная кавычка внутри строки; \\ — обратный слэш.