Пропуск PHP end tag

Пока я развивался с Magento, я узнал, что мне не нужно помещать тег php end (?>), Если я не использую HTML под PHP-кодом. Безопасно ли и почему бы нам просто не положить конец тега? Это полезно?

Related of "Пропуск PHP end tag"

Официальная позиция :

Примечание. Закрывающий тег блока PHP в конце файла является необязательным, и в некоторых случаях его исключение полезно при использовании include () или require (), поэтому нежелательные пробелы не будут возникать в конце файлов, а вы по-прежнему смогут добавлять заголовки в ответ позже. Это также удобно, если вы используете буферизацию вывода и не хотели бы видеть добавленные нежелательные пробелы в конце частей, сгенерированных включенными файлами.

Это полезно при создании файлов классов / файлов кода, так как очень просто добавить лишнее пространство или новую строку в конце файла, что может испортить вывод буферизации вывода header() . Поскольку PHP рассматривает EOF как закрытие ?> В файле, нет никакой опасности полагаться на EOF.

Да, это полезно, потому что вы не можете забыть нечетные символы, такие как \ n после закрытия тега (который может предотвратить отправку файлов cookie и т. Д.). В Zend Framework они также не используют закрывающие теги (в качестве стандартного кода проекта).