?> не обязательный
Тут на форуме новый юзер зарегался. Ну, я прошел по ссылке в подписи.
Тут на форуме новый юзер зарегался. Ну, я прошел по ссылке в подписи.
весна...Закрывающий тег ?> в 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/