Foren / National / Russian / Тех. поддержка / Закрывающий тег PHP "?>" в файлах движка

К вопросу о лишних пробелах в самом начале выводимой страницы.

Alex300
#1 7. November 2012, 09:24

Большинство народу сталкивалось с непонятными пробелами и переносами строк в самом начале страницы, генерируемой движком. Одна из причин - это пробелы и переносы строк после закрывающего тега  "?>" в php-файлах движка.

Решение:

Если файл содержит только код PHP, предпочтительно опустить закрывающий тег "?>" в конце файла. Это помогает избежать добавлени случайных символов пробела или перевода строки после закрывающего тега PHP, которые могут послужить причиной нежелательных эффектов, так как PHP начинает выводить данные в буфер при отсутствии намерения у программиста выводить какие-либо данные в этой точке скрипта.

Смотрите:. http://www.php.net/manual/ru/language.basic-syntax.phptags.php

На всякий случай создал тикет: https://github.com/Cotonti/Cotonti/issues/1077

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Yusupov
#2 7. November 2012, 11:57

Кстати, это еще может произойти если после строки ?> есть пустая строка в коде. Например такой факт очень мешает при генерации rss.

esclkm
#3 7. November 2012, 12:50

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

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Nik Samokhvalov
#4 7. November 2012, 20:57
#36155 esclkm:

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

+1. Нельзя поощерять невнимательность разработчика.

Sorry for my English.
Trustmaster
#5 8. November 2012, 06:05

Люди по умолчанию невнимательны и делают ошибки. Поэтому в PSR-2 отсутствие закрывающего тега включено как требование.

May the Source be with you!
Alex300
#6 8. November 2012, 06:13

Да и IDE, которую использую для кодинга, выдает предупреждения о лишнем закрывающем теге )))

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Moool13
#7 8. November 2012, 07:13

Я тоже против убирания закрывающего тега.

Macik
#8 8. November 2012, 14:19

Я за стандарты.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F