?> не обязательный

Фанат

oncle terrible
Команда форума
?> не обязательный

Тут на форуме новый юзер зарегался. Ну, я прошел по ссылке в подписи.

Закрывающий тег ?> в php-файлах не обязательный. многие этим не пользуются, закрывают каждый файл “?>” и ловят вот такой вот классный варнинг:

Cannot add header information - headers already sent


который, если вывод варнингов не выключен - ложит нафиг все куки, аякс, кодировку и др. хедеры. Грабли стары как мир - а все из-за того, что кто-то по ошибке или по недосмотру поставил пробел или символ перевода строки после закрывающего тега php. Последний, как известно, работает в 2-х режимах - все что внутри <?php и ?> обрабатывается как код, а все что вне (да, да - и как раз наши пробелы и \n) - тупо выплевывается в исходящий поток как html-контент. Ну а если контент отправлен - то хереды уже никак не отправятся; пробел, перед xml-ником (скажем rss) сделает его невалидным и т.п.

С точки же зрения производительности, не закрывать php-файлы - круто, потом что как только интерпретатор натыкается на “?>” он переходит в режим выплевывания контента - ну а потом понятное дело, ему приходиться делать это обратно. Поэтому, закрытый тег заставляет его постоянно дергаться меняя режимы, что само по себе сакс - потому что замедляет время обработки страницы.
http://www.intval.ru/2009/03/18/close-php-tag/
весна...
 

DiMA

php.spb.ru
Команда форума
о, надо тогда обсудить, нужно ли писать запятую после последнего элемента массива
 

Фанат

oncle terrible
Команда форума
сам факт фг с ним.
не, там дальше рассуждения
отсутствие закрывающего тега увеличивает производительность и спасает от хидерс алреди сент.

-~{}~ 19.03.09 16:22:

вставил цитату. еще надо вспомнить одного чудака на букву м, который лечил включенные глобалсы сначала евалом, а потом ансетом в цикле.
вот он, этот тип гражданской наружности, http://firststeps.ru/php/r.php?2
дебилизм на марше.
после него я вставил в фак абзац про борьбу с глобалсами.
 

fixxxer

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

svetasmirnova

маленький монстрик
fixxxer
> А вот когда в магазине берешь с полки книгу, открываешь на случайной странице и читаешь подобное, вот это уже страшно.

Это тоже ничего страшного, это массмедиа :)

-~{}~ 19.03.09 21:24:

> как только интерпретатор натыкается на “?>” он переходит в режим выплевывания контента

Последнее время собираю подобные перлы :)
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: *****
не, там дальше рассуждения
отсутствие закрывающего тега увеличивает производительность и спасает от хидерс алреди сент.
Ну про производительность --- классическая экономия на спичках, а про отсутствие закрывающего тега мойшно процитировать, например, тугаментацию Зенд Каркас:
For files that contain only PHP code, the closing tag ("?>") is never permitted. It is not required by PHP, and omitting it prevents the accidental injection of trailing white space into the response.
У них тоже таки весна, не иначе.
 

Фанат

oncle terrible
Команда форума
Соглашусь. Я потом понял, что для инклюдов это не бред.
В твоей цитате вводные слова все объясняют. А у товарища это выглядит чуть ли не панацеей от алреди сент.

-~{}~ 20.03.09 14:56:

Вообще, этот умник бесит даже больше того придурка с глобалсами.
Взял мелкую бесполезную фичу и раздул до масштабов мирового катаклизма, который "ложит нафиг все куки, аякс, кодировку и др. хедеры." "И тут выхожу я, весь в белом"
 

jonjonson

Охренеть
Озабочка, это блогер. А блогеры - это п***болы со своим мнением. Это не программисты. Они просто трындеть по разуму право имеют. В пустом трындеже весь юмор.

На самом деле порождён целый слой трындоболов. Опыту они только учатся, но должны о чём то согласно ёб 2 поинт 0 пиздеть.

Я думаю это не со зла, а по моде.
 
Сверху