Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужно ли закрывать php файл

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
koras
Отправлено: 27 Октября, 2011 - 10:59:49
Post Id



Частый гость


Покинул форум
Сообщений всего: 224
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Если мы начинаем любой php файл тегом <?php ,а закрываем ?>

А стоит ли вообще закрывать. Я например уже как пол года не закрываю и ошибок не наблюдаю. закрываю если по необходимости использую html вставки, но это тоже крайне редко так как mvc решение таких проблем.
 
 Top
White
Отправлено: 27 Октября, 2011 - 11:15:02
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




koras можно и пробелы нигде не ставить, и вообще строки не переносить, а писать все в одну строку. компилятору все-равно.


-----
if(time()>1356048000) die();
 
 Top
EuGen Администратор
Отправлено: 27 Октября, 2011 - 11:15:19
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




koras пишет:
А стоит ли вообще закрывать.

Нет, не стоит. Более того, это даже пользу может принести - так как если закрыть и потом, например, сделать перенос строки/пробел и т.п. - это будет считаться выводом и может вызвать проблемы (например, include+отправка заголовков после этого)

Обратите внимание, в Zend к примеру, не закрывают


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Stierus Супермодератор
Отправлено: 27 Октября, 2011 - 11:34:41
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Наоборот, правильно, что не закрываете, Евген объяснил, почему Улыбка
 
My status
 Top
salim
Отправлено: 27 Октября, 2011 - 12:18:48
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




А так же отключить вывод ошибок и перед каждым запросом поставить @, и затем будем полчаса гадать почему скрипт не работает.

Можно и </option> не указывать в теге <select>
можно и закрывающие </td></tr> не ставить, а сразу объявить новые...

Если уж пишите, пишите изначально правильно.
 
 Top
Stierus Супермодератор
Отправлено: 27 Октября, 2011 - 12:40:10
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




salim, вы это все к чему?
 
My status
 Top
White
Отправлено: 27 Октября, 2011 - 14:09:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




кстати яркий пример того о чем говорит EuGen. Многие IDE считают своим долгом следить за тем, чтобы в конце файла была пустая строка, и если вы закроетесь тегом ?> после него появится еще одна строка в файле, которая попадет в буфер вывода.


-----
if(time()>1356048000) die();
 
 Top
Ch_chov
Отправлено: 27 Октября, 2011 - 14:54:51
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




White пишет:
Многие IDE считают своим долгом следить за тем, чтобы в конце файла была пустая строка
Ни разу не сталкивался с такими IDE. Можете объяснить, для чего нужна пустая строка в конце файла?

salim пишет:
Если уж пишите, пишите изначально правильно.

Если вы считаете что обязательно закрывать php тег правильно, то напишите почему.

Моё мнение, что закрывать или не закрывать php тег не имеет особого значение. В последнем случае меньше вероятность получить headers already sent из-за не аккуратности. Если вы работаете на каком нибудь фреймворке, то скорей всего в стандартах кодирования для него уже обозначен ответ на этот вопрос. Так что выбора как такового нету.
 
 Top
White
Отправлено: 27 Октября, 2011 - 16:23:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




Ch_chov пишет:
Можете объяснить, для чего нужна пустая строка в конце файла
сам не пойму зачем. но такая настройка есть по дефолту в geany.
если верить WIKI, то
Цитата:
отсутствие перевода строки в конце системных конфигурационных файлов приводит к тому, что последняя строка не учитывается
может по этой причине


-----
if(time()>1356048000) die();
 
 Top
tuareg
Отправлено: 27 Октября, 2011 - 16:29:28
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




На счет закрывать или не закрывать читал на http://irbis-team[dot]com/ .
Идея в том, что если нет закрывающего тэга ?>, тогда если кто-нибудь что-нибудь вставит в конец файла это выведется или выполнится иначе сразу ошибка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB