Основы синтаксиса PHP-теги При разборе файла PHP-интерпретатор распознаёт открывающие и закрывающие теги <?php и ?>, чтобы определить границы выполнения PHP-кода. PHP-парсер игнорирует содержимое за пределами этих тегов, что разрешает бесшовно встраивать PHP-код в документы одного или другого типа. За тегом <?php обязательно указывают пробельный символ наподобие пробела, символа табуляции или новой строки, чтобы правильно разделить токены. Без пробельного символа возникнет синтаксическая ошибка. PHP также включает короткий echo-тег <?= — сокращение более многословного синтаксиса <?php echo. Открывающие и закрывающие теги PHP 2. Короткий echo-тег указывают, когда требуется . Короткий синтаксис эквивалентен синтаксису . 3. ]]> Короткие теги третьего примера доступны по умолчанию, но отключаются либо через директиву short_open_tag в файле PHP-конфигурации &php.ini;, либо при сборке PHP с опцией . Лучше указывать только стандартные теги <?php ?> и <?= ?>, поскольку при отключении коротких тегов код станет несовместимым. Лучше не закрывать PHP-тегом блок PHP-кода, который стоит в конце файла. Это предотвращает случайное добавление пробелов или переводов строк после закрывающего PHP-тега, которые иногда становятся причиной нежелательных эффектов, поскольку PHP начнёт буферизацию вывода, если программист не намерен отправлять вывод в этой точке скрипта. Файл только с PHP-кодом Выход из режима HTML-разметки PHP-интерпретатор игнорирует всё, что разместили вне пары открывающего и закрывающего тегов, что разрешает добавлять в файлы смешанное содержимое. Это разрешает встраивать PHP-код в HTML-документы, чтобы, например, создавать шаблоны. PHP-код, который встроили в HTML-разметку PHP-интерпретатор проигнорирует разбор PHP-кода в этом параграфе, а текст отобразится в браузере.

Этот параграф PHP тоже не станет анализировать как PHP-код и отправит в браузер.

]]>
Это работает предсказуемо, поскольку когда PHP-интерпретатор встречает закрывающие теги ?>, он просто начинает выводить всё, что находит, — за исключением перевода строки, который идёт сразу за закрывающим тегом, как описывает раздел «Разделение инструкций», — пока не встретит другой открывающий тег, если только закрывающий тег не встретился в середине условной инструкции, тогда интерпретатор определяет результат условия, прежде чем решить, что пропустить. Следующий пример показывает это поведение. Структуры с условиями. Продвинутый выход из режима HTML-разметки с условиями Это отобразится, если выражение истинно. Иначе отобразится это. ]]> В этом примере PHP пропустит блок, для которого условие не выполняется, даже если блок указали за пределами открывающего и закрывающего тегов; PHP пропустит блоки по условию, поскольку PHP-интерпретатор пропустит блоки внутри условия, которое не выполняется. Для вывода больших блоков текста выход из режима разбора PHP-кода часто эффективнее отправки текста конструкциями echo или print. В XML- или XHTML-документы PHP-код встраивают внутри тегов <?php ?>, чтобы документы соответствовали стандартам.
Разделение инструкций Как и в языках программирования C или Perl, в языке PHP обязательно заканчивать инструкции символом точки с запятой, который указывают в конце каждой инструкции. Закрывающий тег блока PHP-кода автоматически применяет точку с запятой, поэтому не обязательно ставить точку с запятой в конце последней строки блока с PHP-кодом. PHP не включает в вывод перевод строки, который идёт сразу за закрывающим тегом. Пример вывода текста между закрывающим тегом и переводом строки Нет новой строки ]]> &example.outputs; Примеры входа в режим PHP-парсера и выхода из него Тег, которым закрывается блок PHP-кода в конце файла, необязателен, а при подключении файлов выражением include или require пропуск тега иногда приносит пользу, чтобы нежелательные пробелы не появлялись в конце файлов и не мешали позже добавлять к ответу сервера дополнительные HTTP-заголовки. При буферизации вывода пропуск тега также помогает исключить нежелательные пробелы в конце частей, которые сгенерировали подключаемые файлы. Комментарии PHP поддерживает комментарии в стиле языков программирования C, C++ и в стиле командной оболочки Unix-систем, которая унаследовала стиль комментариев из языка Perl. Например: Пример комментариев ]]> Однострочные комментарии распространяются только до конца строки PHP-кода или на текущий блок PHP-кода в HTML-строке, в зависимости от того, что идёт первым. Поэтому HTML-код после начала однострочного комментария // ... ?> или # ... ?> выводится: тег ?> прерывает режим разбора PHP-кода и возвращает режим HTML-разметки, и символы // или # не влияют на это. Пример однострочных комментариев Это пример

Заголовок вверху выведет 'Это пример'.

]]>
Комментарии в стиле языка C заканчиваются, когда обнаруживается первая последовательность */. Программисты следят за тем, чтобы комментарии в стиле языка C не оказались вложенными. Ошибку с вложенными C-комментариями часто допускают, когда комментируют большой блок кода. ]]>