Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91

Почему часто в php файлах не закрывается конструкция <?php ?>

25.01.2014, 21:13. Показов 3658. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему часто в php файлах не закрывается конструкция <?php ?>, т.е. знака ?> нет . Когда так можно делать? и для чего?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.01.2014, 21:13
Ответы с готовыми решениями:

Одинаковый php код, но в разных PHP файлах
Добрый вечер! Есть файл ac.php, он лежит в корне сайта, я взял и скопировал код в другой php файл, его назовем ac2.php. Но почему-то...

Что означает php конструкция?
Вопрос в заголовке. Сама конструкция: echo isset($_COOKIE) &amp;&amp; $_COOKIE == 'list' ? 'list' : 'list'; Особенно интересует 'list' ? 'list'...

Nginx php-fpm не отображается текст в php файлах, пусые белые страницы при наборе в браузере
Вот конфиг файла домена: /etc/nginx/sites-available/domain2domain.net

11
 Аватар для Dealiss
296 / 284 / 84
Регистрация: 10.05.2013
Сообщений: 920
25.01.2014, 21:20
<?php - начало сценария PHP
?> - конец сценария PHP

Если нету ?>, значит всё что после <?php, сценарий PHP. А именно весь файл.
1
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
26.01.2014, 17:01
Цитата Сообщение от [NovicheK] Посмотреть сообщение
и для чего?
Как правило чтобы случайно не поставить в конце ?>\n что запретит в последующих файлах использование header

Проще просто не писать ?> чем следить за завершающими переносами строки
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
26.01.2014, 17:06
Цитата Сообщение от insideone Посмотреть сообщение
чтобы случайно не поставить в конце ?>\n
небольшое уточнение: не только \n, а вообще любого пробельного символа (табуляция, перевод строки, ....). К тому же, многие редакторы по умолчанию при сохранении добавляют пустую строку в конце файла, что может привести к ошибке при использовании функций, отправляющих заголовки (это не только header() - session_start(), setcookie‎() и др.)
2
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
26.01.2014, 17:47
Цитата Сообщение от KOPOJI Посмотреть сообщение
небольшое уточнение: не только \n, а вообще любого пробельного символа (табуляция, перевод строки, ....)
Так пожалуй вообще любых символов, просто пробельные и перевод строки заметить на глаз сложно
0
26.01.2014, 18:01

Не по теме:

insideone, ну да, хотя непробельные символы и в браузере будут видны..

0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
26.01.2014, 18:51
Современные версии PHP съедают перенос строки, который следует сразу же за ?> :
PHP
1
2
foo<?php ?>
bar
Code
1
foobar
Поэтому ?>\n в конце файла сделает ничего.

Но что-то мне подсказывает, что где-то в далекой древности это, скорее всего, было не так. Могу ошибаться.


Современные версии PHP позволяют не закрывать ?> в конце файла.

Но что-то мне подсказывает, что где-то в далекой древности это, скорее всего, было не так. Могу ошибаться.


Выходит, Legacy.
1
217 / 157 / 30
Регистрация: 11.05.2010
Сообщений: 614
27.01.2014, 16:20
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Современные версии PHP съедают перенос строки, который следует сразу же за ?>
тем не менее, если два переноса строки или пробел, то получаем "пробел":
скрипт:
PHP
1
2
3
4
5
foo<?php ?>
 
bar
<br />
foo<?php ?> bar
результат:
Code
1
2
foo bar
foo bar
HTML5
1
2
3
4
foo
bar
<br />
foo bar
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.01.2014, 16:22
kester, это html "съедает", а не php. Вернее, браузеры считают несколько пробелов как один (и, если необходимо будет поставить несколько пробелов - то придется указывать их явно с помощью &nbsp;)
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.01.2014, 16:23
Цитата Сообщение от kester Посмотреть сообщение
то получаем пробел
Забудьте про браурез. Смотрите исходный plain text.

Само собой, он не съедает 100500 переносов строк и пробелов. Один \n есть - один съедает. Нет \n - ничего не съедает.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.01.2014, 16:24
з.ы. Можно добиться и такого форматирования, как мы задали - например, использовать тег <pre>. Но к пыху это все не относится..
0
27.01.2014, 17:46

Не по теме:

кажется, тема немного отошла в сторону

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2014, 17:46
Помогаю со студенческими работами здесь

Ошибки в файлах add_schet.php и Pokazaniya.php
Можно я пришлю Вам свою БД и php-файлы к ней, а Вы исправите ошибки в файлах add_schet.php и Pokazaniya.php?

Реализация по PHP его алгоритм и конструкция
Здравствуйте. (я НОВИЧОК) Вот правильно ли я строю свой алгоритм и/или конструкцию по PHP? Пример 1 Требуются спортсмены: ...

Ошибки в файлах php
Друзья! Простите, что беспокою! Но вчера получила такое письмо: Вынуждены заблокировать ваш сайт gimnazia-zern.ru за запуск запрещенных...

Javascript в PHP файлах
Здравствуйте! Помогите пожалуйста решить такую проблему. Я тут прочитал, что для оптимизации страницы желательно выносить из php файла...

PHP в файлах без типа
ВОПРОС : возможно заставить роботать PHP код в файлах без типа?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru