Урок посвящен основам синтаксиса скриптового языка 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 = 'Hakimov';
$firstname = 'Rahmatjon';
$message = "Hello $firstname $lastname!";
echo $message;
?>
и
<?php
$lastname = 'Hakimov';
$firstname = 'Rahmatjon';
$message = 'Hello $firstname $lastname!';
echo $message;
?>
Комбинации символов, начинающиеся с \, в одинарных кавычках также никак не преобразуются, за двумя исключениями: \' - одинарная кавычка внутри строки; \\ - обратный слэш.