Удаляет ли пропуск закрывающего тега блока PHP в конце файла какие-либо переводы строк или пробелы, если они присутствуют в соответствующем файле?

я использую PHP 7.1.12

Я знаю, что закрывающий тег блока кода PHP автоматически подразумевает точку с запятой, поэтому нам не нужно использовать точку с запятой, заканчивающую последнюю строку блока PHP.

Закрывающий тег для блока будет включать в себя немедленно завершающий символ новой строки, если он есть.

Итак, мой вопрос: предположим, у меня есть блок кода PHP с несколькими операторами, я добавляю десять строк после последней допустимой строки кода, а затем не добавляю закрывающий тег PHP, т.е. ?>

Итак, в приведенном выше случае PHP удалит эти дополнительные 10 строк или если я добавлю ненужные пробелы?

0

Решение

Я знаю, что закрывающий тег блока кода PHP автоматически
подразумевает точку с запятой, поэтому нам не нужно заканчивать точку с запятой
последняя строка блока PHP.

Средства <?php echo '' ?> Это хорошо.

Закрывающий тег для блока будет включать в себя сразу трейлинг
перевод строки, если таковой имеется.

Средства

<?php echo '' ?>
\n
\n
\n

Будет выводить 3 перевода строки.

Но я думаю, что вы спрашиваете, будут ли следующие строки выводить разрывы строк.

<?php echo '';
\n
\n
\n

Что это не так, по той же причине, что комментарии PHP не выводятся.

Руководство PSR-2 2.2. файлы.

  • Все файлы PHP ДОЛЖНЫ использовать конец строки Unix LF (перевод строки).

  • Все файлы PHP ДОЛЖНЫ заканчиваться одной пустой строкой. (не 10; р)

  • Закрытие ?> тег ДОЛЖЕН быть опущен в файлах, содержащих только PHP.

1

Другие решения

Если ваши файлы являются чистым PHP, то есть вы не используете несколько блоков PHP в файле HTML, вы всегда должны избегать закрывающих тегов.
Закрывающие теги означают, что ваш скрипт завершен, и обрабатывают следующую часть кода как HTML. если ваш HTML и PHP разделены в вашей кодовой базе, вы должны начать файл с <?php тег, и просто напишите PHP скрипт потом. Все строки в этом файле будут обрабатываться как PHP, и на экране будет отображаться только часть, возвращенная обратно.

Итак, возвращаясь к вашему вопросу, те 10 строк, которые вы добавили после последней строки PHP-кода, будут рассматриваться как часть сценария PHP и будут рассматриваться как пустые строки в сценарии, а не как пустые строки в HTML.

Некоторые ссылки для получения дополнительной информации:
https://softwareengineering.stackexchange.com/questions/89553/closing-tag-on-php-files
https://www.sitepoint.com/should-you-close-your-php-code-tags/
https://wordpress.stackexchange.com/questions/210765/to-close-or-not-to-close-php

1