Логотип Валидатор Валидатор Качество создания сайта

Синтаксис HEREDOC

Назначение синтаксиса

Этот синтаксис служит для вставки больших кусков текста БЕЗ ЭКРАНИРОВАНИЯ, как есть. И не только текста!
Вставленный кусок примет такой стиль и вид, как мы ему пропишем внутри него (самого этого куска). Такой же стиль примут и, вставленные внутрь HEREDOC переменные.

* * *

Главное!   Называться синтаксис может по-любому. НО! Как начали выражение, так и должны его закончить.
**Пример написания: echo <<<HERE... ... ...HERE; Учесть! Пробелы после HERE (в начале синтаксиса), и перед его закрытием лучше НЕ делать. Функция "КАПРИЗНА"!

**Пример использования:


Вставка больших кусков текста

Выделил серым фоном то, что было выведено с помощью PHP. Ниже вставлены ссылки и текст, а внутрь куска текста вставил переменную $b.

Это обычный абзац текста, вставленный внутрь синтаксиса. Он отображается, как и все другие на странице, приняв её стиль.
Ссылки дал на другие страницы мини-сайта по изучению PHP. По ним можно совершить прямой переход в интересующие разделы.

В раздел о передачи данных из одного файла в другой.
Добавление комментариев на сайте.
Загрузка файлов на сайт.
Ссылка на страницу входа по паролю.

Этот кусочек текста вставлен (ради примера) внутрь синтаксиса <<<HERE  Его сейчас видим в браузере. Дальше вставил переменную. Число 25 - вставленная переменная. Прописал ей цвет резко отличающийся. Стиль она приняла от абзаца, куда её вставил.

Ну, а это - переменная А в том же самом коде РНР, но уже после закрытия синтаксиса.

Дальше попробовал вывести синтаксис HERE с содержанием БЕЗ оператора вывода.


HERE без команды вывода

Этот кусочек текста вместе с заголовком вставлен внутрь синтаксиса. Пробовал его вывод без операторов.
БЕЗ команды echo он НЕ ВЫВОДИТСЯ!

Следующий шаг - присвоил синтаксис в качестве значения переменной.


HERE взят в ПЕРЕМЕННУЮ

И здесь текст, также вместе с заголовком, вставлен внутрь синтаксиса HERE, но кроме этого - весь кусок синтаксиса взял в переменную.
Дал команду echo на вывод переменной, и она ВЫВЕЛАСЬ ТАК!

НО! Кавычки пришлось ставить 'одинарные', и заголовок НЕ действует(!), и отображается НЕВЕРНО (с угловыми скобками), если ВЕСЬ кусок синтаксиса взять в КАВЫЧКИ (" "), как это полагается, при присвоении значения переменной. Кавычки НЕ ставить!

Позже, насчёт 'одинарных' и "двойных" кавычек внутри(!) синтаксиса, разобрался. Оказалось, что можно использовать любые. НО!
Учитывать, как(?) она его получила, место, откуда переменной пришло значение.

* * *

В моём случае, это было дополнительное, совместное использование синтаксиса, инструкции include, и файла settings.php.


Важно! Дополнения по использованию синтаксиса
(*памятка)

Здесь показал лишь самые простые примеры, и описал только общие принципы использования такого синтаксиса.

Подробно и наглядно есть в учебном разделе моего локального сервера и на флэшках.

На локальном сервере полный путь до файлов: localhost/www/PHPsite/......
На флэшках путь до них же: ОБУЧЕНИЕ/PHPsite/www/......

Имена файлов везде одинаковые.
Этого файла - также heredoc.php, а имена других очень нужных файлов: include3.php и settings.php (*двух последних файлов на реальном сайте нет).

В них разбираются особенности совместного использования файла настроек (settings), через его подключение с помощью инструкции: include "settings.php";

Кроме того!
Подробно показан вывод картинок разных размеров, и переменных через пристыковку.


Заключение

Постоянно встречаю использование подобного синтаксиса в скриптах, написанных профессиональными программистами.
С его помощью можно собирать целые страницы сайтов, как в конструкторе. Да ещё можно настроить вывод разного содержания на одной странице, в зависимости от действий пользователя.

Такое, к примеру, можно применить для защиты "закрытых" разделов сайта от вхождения без ввода логина и пароля, напрямую через адресную строку браузера.

Да, много чего можно сделать, используя эту великолепную возможность языка PHP!



Синяя стрелка вернёт на общую, главную страницу выбора тем: "Изучение PHP".

Назад

ВВЕРХ

Все права защищены. Copyright © 2009 - Коротеев Владимир.

Protected by Copyscape Duplicate Content Check
Яндекс.Метрика