Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 16.01.2016
Сообщений: 97

Heredoc синтаксис

16.07.2016, 21:00. Показов 1685. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Зачем он вообще и как часто он применяется? Не могу понять описание синтаксиса в документации. Там написано следующее:
"Строка должна начинаться с закрывающего идентификатора, т.е. он должен стоять в первом столбце строки. ". Почему тут написано с закрывающего идентификатора? Первый столбец строки это имеется ввиду первый элемент ведь?

Также написано вот что:
"Очень важно отметить, что строка с закрывающим идентификатором не должна содержать других символов, за исключением точки с запятой (; ). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой. Важно также понимать, что первым символом перед закрывающим идентификатором должен быть символ новой строки, определенный в вашей операционной системе. "
Почему везде употребляется закрывающий идентификатор? Он вообще в самом конце, какая ещё строка с закрывающим идентификатор и что подразумевается под другими символами, то есть запятую нельзя?(там их два и как я понял по-другому быть не может). В общем ничего не понятно... Можете, пожалуйста, привести примеры и в примере показать о чем говориться.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.07.2016, 21:00
Ответы с готовыми решениями:

синтаксис HEREDOC
<? function abc() { echo <<<HERE <table class="demotable"> <caption>Заголовок к таблице</caption> <thead> <tr>...

Синтаксис Heredoc странно работает
Почему выводит ошибку Parse error: syntax error, unexpected $end? <?php $x=10; echo <<<МЕТКА $x МЕТКА; ...

НЕ РАБОТАЕТ HEREDOC
Всё правильно в коде, но не работает функция <<<HERE HERE; Все пробелы удалял - всё-равно капризничает). Не могу вывести форму в...

9
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
16.07.2016, 21:11
http://php.net/manual/ru/langu... ax.heredoc https://ru.wikipedia.org/wiki/... 0%B8%D1%81
0
1 / 1 / 1
Регистрация: 16.01.2016
Сообщений: 97
16.07.2016, 21:15  [ТС]
Цитата Сообщение от WhiteMind Посмотреть сообщение
http://php.net/manual/ru/language.ty...syntax.heredoc https://ru.wikipedia.org/wiki/... 0%B8%D1%81
Я цитировал текст с первой ссылки, на практике я запишу такую строку, но я совсем не понимаю ограничений, которые описаны в документации и которые я процитировал.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.07.2016, 21:19
Цитата Сообщение от hastal Посмотреть сообщение
Можете, пожалуйста, привести примеры и в примере показать о чем говориться.
Там ниже приведен пример как делать нельзя
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
16.07.2016, 21:24
Цитата Сообщение от hastal Посмотреть сообщение
Строка должна начинаться с закрывающего идентификатора, т.е. он должен стоять в первом столбце строки.
Имеется в виду строка, находящаяся после указанных в heredoc данных.
1
1 / 1 / 1
Регистрация: 16.01.2016
Сообщений: 97
16.07.2016, 22:06  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Имеется в виду строка, находящаяся после указанных в heredoc данных.
если взять этот пример, о чем идет речь:
PHP
1
2
3
4
$s = <<<EOL
Кавычки бывают 'одинарными' и "двойными".
$name и {$foo->bar[1]}
EOL;
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
16.07.2016, 22:38
hastal, о четвёртой строке.
1
1 / 1 / 1
Регистрация: 16.01.2016
Сообщений: 97
17.07.2016, 13:13  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
hastal, о четвёртой строке.
Я сейчас читаю эту строку: "Строка должна начинаться с закрывающего идентификатора, т.е. он должен стоять в первом столбце строки.". И не могу найти ничего, что указывает на 4 строку, кроме закрывающего идентификатора. После него строка заканчивается, а не начинается.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
17.07.2016, 15:27
Лучший ответ Сообщение было отмечено hastal как решение

Решение

Цитата Сообщение от hastal Посмотреть сообщение
После него строка заканчивается, а не начинается.
Имеется в виду новая строка файла, а не данные, которые Вы указываете в heredoc.
1
1 / 1 / 1
Регистрация: 16.01.2016
Сообщений: 97
17.07.2016, 19:57  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Имеется в виду новая строка файла, а не данные, которые Вы указываете в heredoc.
Спасибо, теперь все понял.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.07.2016, 19:57
Помогаю со студенческими работами здесь

Не закрывается HEREDOC-строка
почему не закрывается? private function _adminGeneralOptions() { return&lt;&lt;&lt;ADMIN_OPTIONS &lt;form action=&quot;process.inc.php&quot;...

Вставка цикла в heredoc
Есть вывод &lt;&lt;&lt;_END вида echo &lt;&lt;&lt;_END &lt;form action=&quot;index.php&quot; method=&quot;post&quot;&gt; &lt;select&gt; &lt;/select&gt; ...

Вызов функции в HEREDOC
можно ли вставить результат функции в часть строки EOT function text($t) { if($t == 1) return 'Hello'; else return 'Bye'; } ...

Странная отработка heredoc
Добрый день! Пытаюсь использовать самый обычный HEREDOC, но ведет он себя как-то странно.. Вот код: echo...

Выпадающий список и <<<HEREDOC
Доброго времени суток. Вообщем нужно сделать: выбираешь &quot;статус&quot;, нажимаешь кнопочку &quot;поставить статус&quot;, страница перезагружалась...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru