PHP quick tip: Heredoc-синтаксис

Как ни смешно, впервые воспользовался на практике heredoc-синтаксисом. Знал о нём очень давно (со времён, когда делал первые шаги в изучении PHP), но считал его излишеством.

Heredoc-синтаксис — это способ внедрения большого куска текста для вывода в скрипт программы, при этом переменные транслируются как при обычном echo, а заботиться об экранировании кавычек не нужно совсем.
На самом деле, дело было так: у меня была огромная форма, написанная обычной html-разметкой (естественно, с кучей кавычек). А потом я решил, что мне нужно эту форму засунуть в Php-функцию. Вы скажете, я мог бы закрыть Php и открыть его уже после формы. Конечно, мог бы. Но мне хотелось попробовать что-то новенькое.
В результате получилось очень даже красиво.
Для иллюстрации вот небольшой пример:
<?php
$x=2;
$y=3;
$z=$x+$y;
echo <<<LARGETEXT
Компьютер говорит: "А вы знаете, что если к $x прибавить $y, получится <strong>$z</strong>?"
LARGETEXT;
?>

Таким образом, сначала пишем echo <<<MARKER, затем любой текст (включая и html-разметку), а затем MARKER;, обязательно на отдельной строке.
Причём этот маркер может быть на самом деле любым, главное, чтобы они были одинаковые в начале и в конце. Лучше их делать заглавными буквами — чтобы было заметнее. Правила именования такие же, как и у обычных переменных: латинские буквы, цифры, знаки подчёркивания, а начинаться маркер может только латинской буквой (и, вероятно, знаком подчёркивания).

Метки: ПрограммированиеPhpQuick tipHeredocвывод текста


Рейтинг записи:  7 Публикация

Комментарии


© Разработка, заклинания и дизайн — Ностиэ & Менелион Эленсуле, 2010 — 2024