Некоторые люди клянутся, закрывая свои PHP-файлы ?>
, другие говорят, что он более оптимизирован, чтобы его отключить.
Я знаю, что не обязательно иметь это там, мне просто интересно, какие плюсы и минусы в этом и какова лучшая практика.
php
code-formatting
Стив Роббинс
источник
источник
If a file is pure PHP code, it is preferable to omit the PHP closing tag at the end of the file. This prevents accidental whitespace or new lines being added after the PHP closing tag, which may cause unwanted effects because PHP will start output buffering when there is no intention from the programmer to send any output at that point in the script.
Ответы:
Это не столько вопрос производительности - разбор трейлинга
?>
тривиален и вообще ничего не изменит, если только вы не включаете миллион файлов в секунду.IIRC, php.net рекомендует НЕ добавлять
?>
, и причины идут примерно так:?>
, который будет выводиться клиенту, что, в свою очередь, может привести к неясным ошибкам «заголовки уже отправлены» (это происходит, когда включаемый файл содержит пробелы, и вы пытаетесь установить заголовок после включая этот файл)источник
Нет, они не правы.
?>
необязательно в PHP в конце файла. И вы найдете вескую причину для этого. Наиболее важным является то, что пустое место в конце файла не помешает вам отправлять заголовки. Это трудная ошибка для обнаружения, потому что вы можете найти ее в любом файле в любом месте.Обычный способ сделать это поместить закрывающий тег, когда PHP смешан с HTML, и не помещать его для чистых файлов PHP. Это даже стандарт кодирования из фреймворка ZEND и многих других.
Оптимизированный означает, что код работает быстрее. Это легко доказать, что они не правы. Профилируйте код и выясните, что они говорят вам чушь.
источник
Я думаю, что новичкам рекомендуется не добавлять его, чтобы они не вызывали случайную отправку дополнительных символов новой строки. Поскольку это не обязательно, как вы упомянули, я думаю, что общая причина заключается в том, что лучше избегать ошибок.
Я не думаю, что с этим связана какая-то «оптимизация».
Я хотел бы указать вам здесь: /programming/4410704/php-closing-tag и здесь: /programming/3219383/why-do-some-scripts-omit-the -closing-PHP-тег
источник
?>
в файлах, содержащих чистый PHP.