Головна » Файли » Мої файли

Многострочные команды в PHP
21.05.2012, 19:23

Бывает, что нужно вывести из PHP большой объем текста, а использование нескольких инструкций echo (или print) заняло бы много времени и было неразумным. PHP предлагает два удобных средства, предназначенных для того, чтобы справиться с подобной ситуацией. Первое из них состоит в заключении в кавычки нескольких строк, как в примере 1. Переменным также можно присвоить значения способом, показанным в примере 2. 

Прииер 1. Инструкция echo, использующая несколько строк

$author="Мирослава";

echo " Это заголовок

Это первая строка.

Это вторая строка.

Автор $author.";

?>

Пример 2. Многострочное присваивание

$author="Мирослава"

$text="Это заголовок

Это первая строка.

Это вторая строка.

Автор $author.";

?>

В PHP можно также воспользоваться многострочной последовательностью, используя оператор <<<

который обычно называют here-document (здесь документ) или, для краткости, heredoc. Этот оператор представляет собой способ указания строкового литерала, сохраняющего в тексте обрывы строк и другие пустые пространства (включая отступы). Его использование показано в при- мере 3.

Пример 3. Еще один вариант инструкции echo, использующей сразу несколько строк

$author="Мирослава";

echo <<<_END

Это заголовок.

Это первая строка.

Это вторая строка

- Автор $author.

?>

Этот код предписывает PHP вывести все, что находится между двумя тегами END, как будто все это является строкой, заключенной в двойные кавычки. Это означает, что разработчику можно, к примеру, написать целый раздел HTML-кода прямо в коде РНР, а затем заменить конкретные динамические части переменными PHP. Важно запомнить, что закрывающий тег END; должен появляться строго в начале новой строки и он должен быть единственным содержимым этой строки  к ней не разрешается добавлять даже комментарии (нельзя ставить даже одиночный пробел). Как только многострочный блок закрыт, можно снова воспользоваться тем же самым именем тега.

Запомните: используя heredoc-конструкцию <<<_END..._END;, вы не должны добавлять символы \n, для того чтобы отправить команду на перевод строки, достаточно просто нажать клавишу Ввод и приступить к набору новой строки. также. в отличие от других строк, заключенных в одинарные или двойные кавычки, внутри конструкции heredoc можно по своему усмотрению совершенно свободно пользоваться всеми одинарными или двойными кавычками, не изменяя их первоначального предназначения с помощью ведущего символа обратного слеша(\).

В примере 4. показано, как использовать этот же синтаксис для присваивания переменной многострочного значения.

Пример 4. Присваивание переменной многострочного значения.

$author="Мирослава";

$out=<<<_END

Это заголовок

Это первая строка.

Это вторая строка.

- Автор $author.

_END;

?>

После этого переменная $out будет наполнена содержимым, размещенным между двумя тегами. Если не присваивать, а добавлять значение, то для добавления строки к значению переменной $out вместо оператора = можно воспользоваться оператором . =. Будьте внимательны, не ставьте точку с запятой сразу же за первым тегом END, поскольку она прервет многострочный блок еще до его начала и вызовет сообщение об ошибке синтаксического разбора  «Parse error». Точку с запятой нужно ставить только после закрывающего тега END, хотя внутри блока можно свободно пользоваться точкой с запятой как обычным текстовым символом. Кстати, тег END - лишь один из многих, я выбрал его для этих примеров, поскольку его использование гденибудь еще в коде PHP маловероятно, что придает ему некоторую уникальность. Но вы можете использовать по собственному усмотрению любой тег, например _SECTIONl или OUTPUT и т. д. И еще, для того чтобы отличать подобные теги от переменных или функций, обычно практикуется ставить в начале их имени знак подчеркивания, но если не хотите, можете им не пользоваться. Многострочную разметку текста можно рассматривать как удобное средство, упрощающее чтение вашего кода РНР, поскольку, как только текст отображается на веб-странице, вступают в силу правила форматирования HTML и пустые пространства скрываются, но имя переменной $author по-прежнему заменяется ее значением в соответствии с правилами вставки значений переменных.

Категорія: Мої файли | Додав: [UA]Admin
Переглядів: 2964 | Завантажень: 0 | Коментарі: 1
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]

Які ігри розміщувати на сайті?
Всего ответов: 23
Реклама на сайті Чорнобай - 063-878-77-71 Ковка Киев
Найближчі населені пункти до селища міського типу    Чорнобай: Ви власник цих сайтів, пропоную співпрацю! м. Золотоноша20 км
смт. Оржиця29 км
м. Черкаси32 км
смт. Драбів34 км
смт. Новооржицьке48 км
м. Гребінка50 км
с. Великі Липняги56 км
м. Сміла59 км
м. Лубни61 км
П`ятниця
26.04.2024
07:08

[ Управління профілем ]
Онлайн радио

OnLine
Онлайн всього: 1
Гостей: 1
Користувачів: 0

Користувачів онлайн:
На сайті Чорнобай були:

Ремонт компютерів настройка та устаноака систем, програм та антивірусів, створення рефератів, дипломних, курсових, робіт.Банери та дизайн. Створення сайтів Черкаси - Чорнобай тел. - 063 - 878 - 77 - 71 - 096 - 180 - 12 - 12