Рекомендуется не добавлять в конец файла закрывающий тег PHP, чтобы избежать всех возможных ошибок. Но есть ли какие-либо обстоятельства, когда требуется закрыть тег PHP?
Закрывающий тег необходим, если вы хотите переключиться с блока кода PHP на простой текстовый вывод.
Вот пример:
<?php // PHP code block ?> <!-- plain text output and not processed by PHP --> </body>
BTW, если вы хотите узнать, какую ошибку вы предотвращаете, пропустив закрывающий тег. Поскольку объяснение Зенда не входит в детали.
Он не требуется PHP, и его исключение предотвращает случайное впрыскивание пробега в пробе.
Это означает, что если вы хотите использовать header () для перенаправления какого-либо человека в другое место или каким-либо образом изменить HTTP-заголовок … тогда вы не сможете и получите ошибку, если какой-то файл закончится так.
} ?> //space here
Потому что тогда это пространство будет выведено на сайт как контент, а затем вы не сможете изменить заголовки.
Это мое личное «правило»:
Это необходимо только тогда, когда вы хотите вывести не-php-код после вашего php-блока.
Когда вы не просто используете PHP в скрипте 🙂
Как правило, я всегда добавляю закрывающий тег, потому что это единственный раз в течение всего дня, когда мой палец вопросительного знака получает упражнение. Этот плохой вопросительный знак не вызывает любви на PHP 😉
Но если серьезно, добавление закрывающего тега, когда оно не требуется, может привести к действительно запутывающим ошибкам. Из-за этого я вытащил свои волосы весь день. Проблема обычно заключается в том, что после закрывающего тега есть пробелы, которые вы не можете легко увидеть, но они интерпретируются как часть тела ответа. Это плохая новость, если вы включаете этот файл в другой скрипт, который хочет отправить пользовательский заголовок позже. Вы не можете отправлять информацию заголовка после того, как скрипт начал отправлять тело ответа, поэтому эти маленькие невидимые пробелы приводят к сбою сценария.