Використання метода Here-doc у PHP

maque.org.ua - Українською про PHP

Привіт. Сьогодні черговий PHP-допис (для початківців). Цього разу йтиметься про Here-doc (скорочено від here-document). Цей метод застосовується для виведення великої кількості динамічної інформації.

Синтаксис простий:

echo <<<IMMYA_IDENTYFIKATORA
xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
IMMYA_IDENTYFIKATORA;

Ідентифікатор IMMYA_IDENTYFIKATORA; може бути будь-яким на Ваш розсуд (хоча він повинен бути описовим, тобто він повинен розкривати суть того, що відбувається у межах початкового ідентифікатора ( <<<IMMYA_IDENTYFIKATORA ) та кінцевого (IMMYA_IDENTYFIKATORA;
).

Ім’я ідентифікатора зазвичай складається з кількох слів з літерами у верхньому регістрі, слова розділені нижньою рискою.

Кінцевий ідентифікатор (у цьому випадку IMMYA_IDENTYFIKATORA;) не повинен містити пробіли чи починатися з цифри. Він також повинен перебувати на самому початку рядка. Якщо перед ним у цьому рядку буде хоча б один пробіл, ви отримаєте помилку, подібну до цієї:

Parse error: syntax error, unexpected $end in …

У порівняннs з використанням echo ” “; у кожному рядку для виведення великої кількості динамічної інформації метод here_doc має декілька переваг:

1.Код більш читабельний:

<?php
$user = “Іван Донієнко”;
$pass = “doe123”;
echo <<<END_USER_INFO
Username: $user<br>
Password: $pass
END_USER_INFO;
?>

2.Не потрібно уникати символи (подвійні лапки, косі риски тощо):

<?php
//багаторядковий метод з подвійними лапками, тобто за допомогою echo
echo “<body bgcolor=\”yellow\” text=\”blue\”>”;
//метод here-doc
echo <<<END_OF_OUTPUT
<body bgcolor=”yellow” text=”blue”>
END_OF_OUTPUT;
?>

3.Використовувати echo “ “; потрібно лише один раз. що спрошує роботу веб-програмісту.

Що Ви могли б додати до щойно перелічених переваг (чи до допису, в цілому)?

Можно недорого купить духи Версаче онлайн!

You may also like

2 коментарі

  1. Ну так, воно не зовсім на поверхні 🙂 Радий трохи здивувати