Другие языки программирования и технологии
Правда ли что закрывающий тэг для php "?>" не рекомендуется ставить в конце страницы?
Прочитал сейчас статью там было написано что не рекомендуется в конце страницы ставить закрывающий тэг для php. Возможно я неправильно понял или это действительно так?
Прикольно!
Php - это Печаталка и ВСЁ.
Сервер ВЫВОДИТ из файла .php всё, что заключено между тегами
<?php ?>
ЭТО ВСЁ, что делается. Никаким образом невозможно записать хоть что-то в файл .php, в том числе и перед последним тегом, так как вывод обеспечивает СЕРВЕР, то есть в первую очередь надо что-то попытаться записать на сам Сервер, так как ЛЮБОЕ обращение к файлу .php никаким образом не выводит его сам и не может подключить его к записи.
Поэтому мне довольно весело читать, ТАКОЕ.
По поводу того, что есть переход на новую строку в конце файла: Поставьте их сто тысяч, от этого совсем НИЧЕГО не изменится, ИСПОЛНЯЕТСЯ всё то, что находится между тегами <?php ?>
По поводу того, что в Php многое не надо, например объявлять переменные и их свойства, и тот же конец файла .php - по поводу Первых - да, можно ничего не объявлять, но заключительный тег ставить надо обязательно, хотя бы по той причине, чтобы не НАПРЯГАТЬ сервер, когда он всё время будет не находить конец файла и сам станет его завершать по своему усмотрению (лишние ресурсы)
Php - это Печаталка и ВСЁ.
Сервер ВЫВОДИТ из файла .php всё, что заключено между тегами
<?php ?>
ЭТО ВСЁ, что делается. Никаким образом невозможно записать хоть что-то в файл .php, в том числе и перед последним тегом, так как вывод обеспечивает СЕРВЕР, то есть в первую очередь надо что-то попытаться записать на сам Сервер, так как ЛЮБОЕ обращение к файлу .php никаким образом не выводит его сам и не может подключить его к записи.
Поэтому мне довольно весело читать, ТАКОЕ.
По поводу того, что есть переход на новую строку в конце файла: Поставьте их сто тысяч, от этого совсем НИЧЕГО не изменится, ИСПОЛНЯЕТСЯ всё то, что находится между тегами <?php ?>
По поводу того, что в Php многое не надо, например объявлять переменные и их свойства, и тот же конец файла .php - по поводу Первых - да, можно ничего не объявлять, но заключительный тег ставить надо обязательно, хотя бы по той причине, чтобы не НАПРЯГАТЬ сервер, когда он всё время будет не находить конец файла и сам станет его завершать по своему усмотрению (лишние ресурсы)
мнения разделились.... спецификацию не судьба почитать?
между считается кодом пхп, а все остальное как хтмл код интерпретируется... а в хтмл любое количество пробелов браузер примет за 1 пробел в рендеринге... а перевод строки происходит специальным тегом...
между считается кодом пхп, а все остальное как хтмл код интерпретируется... а в хтмл любое количество пробелов браузер примет за 1 пробел в рендеринге... а перевод строки происходит специальным тегом...
Проблемы недоязыка.
Бред. Если страница состоит целиком из скрипта, то закрывающий тег по любому будет в конце. (ваш КЭП)
Дмитрий Никулин
Вот и я о том же подумал. Сейчас перечитал этот абзац, всё таки там однозначно говорится о том что нельзя ставить закрывающий тэг. Могу процитировать, сам почитай:
Дмитрий Никулин
Не нужно лениться. Не нужно пользоваться short-тегами. Их вообще скоро выведут из употребления, так как они пересекаются с XML. Писать нужно только так: нельзя ставить ни в коем случае. Это не просто вредно, но и опасно.
Объясню, чтоб не быть голословным.
1. После него может оказаться пробел или перенос строки. А так, как файл подключен выше доктайпа, значит и пробел вылезет туда. А это гарантированно угробит верстку в IE.
2. Всё, что написано после него, интерпретируется как HTML. А это значит, что (не дай Бог) в конец файла попадет вирус, то он сработает.
А тупые боты именно туда норовят прописать всякую гадость. Так вот, ежели его (закрывающего значка) не будет, то вирь попадет в тело php и вызовет ошибку. Плохо конечно, но лучше, чем бы он сработал у клиента.
Объясню, чтоб не быть голословным.
1. После него может оказаться пробел или перенос строки. А так, как файл подключен выше доктайпа, значит и пробел вылезет туда. А это гарантированно угробит верстку в IE.
2. Всё, что написано после него, интерпретируется как HTML. А это значит, что (не дай Бог) в конец файла попадет вирус, то он сработает.
А тупые боты именно туда норовят прописать всякую гадость. Так вот, ежели его (закрывающего значка) не будет, то вирь попадет в тело php и вызовет ошибку. Плохо конечно, но лучше, чем бы он сработал у клиента.
Дмитрий Никулин
Не нужно лениться. Не нужно пользоваться short-тегами. Их вообще скоро выведут из употребления, так как они пересекаются с XML. Писать нужно только так: "" нельзя ставить ни в коем случае. Это не просто вредно, но и опасно.
Объясню, чтоб не быть голословным.
1. После него может оказаться пробел или перенос строки. А так, как файл подключен выше доктайпа, значит и пробел вылезет туда. А это гарантированно угробит верстку в IE.
2. Всё, что написано после него, интерпретируется как HTML. А это значит, что (не дай Бог) в конец файла попадет вирус, то он сработает.
А тупые боты именно туда норовят прописать всякую гадость. Так вот, ежели его (закрывающего значка) не будет, то вирь попадет в тело php и вызовет ошибку. Плохо конечно, но лучше, чем бы он сработал у клиента.
Объясню, чтоб не быть голословным.
1. После него может оказаться пробел или перенос строки. А так, как файл подключен выше доктайпа, значит и пробел вылезет туда. А это гарантированно угробит верстку в IE.
2. Всё, что написано после него, интерпретируется как HTML. А это значит, что (не дай Бог) в конец файла попадет вирус, то он сработает.
А тупые боты именно туда норовят прописать всякую гадость. Так вот, ежели его (закрывающего значка) не будет, то вирь попадет в тело php и вызовет ошибку. Плохо конечно, но лучше, чем бы он сработал у клиента.
Дмитрий Никулин
Тьфу глупый мэйл всё обрезает...Вот тут вся статья irbis-team .com/15/10/2 (пробел убери)
Сергей Сонец
и вобще как может пробел в конце страницы оказаться над доктипом,который изначально в самом верху страницы?или я чего-то не догоняю сути вопроса про конец?это уже будет чистый баг кодинга именно обожаемого автором зенда!!!или его самого...даже в этом случае ни что не мешает сперва вставить сперва доктип,а после пхп код..
Да. Слышал, что если вирус добавит какую-нибудь гадость в конец файла, интерпретатор выдаст ошибку, а не покажет это чудо клиенту.
Это неправда что нерекомендуется ставить вконце файла ?>.
Дело в том, что некоторые редакторы, например gedit, сохраняют документ так, чтобы в конце обязательно был перевод строки, при этом прячут этот перевод от пользователя как страшную тайну. В таком случае, если у тебя выдача хедеров идет после инклюда каких-либо скриптов, получится варнинг (только если выдача на этой стадии вообще не отключена, как во многих популярных движках) . Выдачу лучше не отключать, поскольку бывает при дебаге несколько строчек, добавленных в код, позволяют то, чего не умеет дебагер.
Похожие вопросы
- страница-заставка сайта на php
- Не выходит получить страницу с помощью cUrl PHP .
- Как в PHP сделать так что-бы обновлялось содержимое HTML-страницы? (Подгрузка содержимого без обновления страницы)
- Как вывести текст на страницу через php??
- Вопрос к сайто- строителям, что за теги <noindex> и зачем ими закрывать внешние ссылки?
- PHP foreach($this->arFields as $name=>$structure)
- Кеширование страниц на PHP
- Почему рекомендуется писать в стили в CSS, а не в самом файле странице при помощи style=""?
- >>>__Если создавать полноценный, красивый сайт при помощи HTML, CSS, PHP, Фотошопа, и Дреамвьювера, этого хватит? __<<<
- PHP. Вывод из базы с конца по id.
PHP родился как шаблонизатор. Всё, что находится вне тэгов ПХП будет просто выводится на печать во время интерпретации файла скрипта. И это стало первопричиной появления запрета на закрывающий тэг. Иначе, случайно попавшие после него пробельные символы просто вываливаются в браузер. Т.о. ломается вёрстка в IE, ломается установка заголовков.
Зенд не занимается шифрованием файлов. Область их разработок выходит за эти примитивные рамки.
Шифрованием занимается зенд-гвард. Оптимизацией занимается зенд-оптимайз. До недавнего времени оба продукта входили в один пакет и поставлялись вместе.
http://www.zend.com/en/company/
Учитывая, что зенд - это и есть ПХП (они его основные спонсоры и разработчики ядра языка), я не знаю более вменяемого мануала по кодированию, чем их рекомендации к стилизации кода.