Как правило, я всегда добавляю закрывающий тег, потому что это единственный раз за весь день, когда мой палец с вопросительным знаком выполняет упражнение. Этот плохой вопросительный знак не вызывает любви в PHP; -)
А если серьезно, добавление закрывающего тега, когда оно не требуется, может привести к действительно запутанным ошибкам. Из-за этого я однажды выдернул свои волосы весь день. Проблема обычно в том, что после закрывающего тега есть пробелы, которые вы не можете легко увидеть, но они интерпретируются как часть тела ответа. Это плохая новость, если вы включаете этот файл в другой скрипт, который позже хочет отправить пользовательский заголовок. Вы не можете отправлять информацию заголовка после того, как скрипт начал отправлять тело ответа, поэтому эти маленькие невидимые пробелы приводят к сбою скрипта.