LoginSignup
7
7

More than 5 years have passed since last update.

ヒアドキュメントすごいと思ったので

Last updated at Posted at 2016-02-05

PHPで文字列書くとき以下の様な感じですよね。

$hoge = "私はhogeです。";

これでタグが出現すると、、、

$hoge = "<span>私はhogeです。</span>";

で、このタグにクラスを設定したいとする

$hoge = "<span class=\"fuga\">私はhogeです。</span>";

となります。
こいつをヒアドキュメントに置き換えるとこうなる。

$hoge = <<<TEXT
<span class="fuga">私はhogeです。</span>
TEXT;

こうなる。
何が違うって「\」でクォートしなくていいんですよ。
変数内にタグをズラズラ書くってそんなにないと思うんですけど
もしあった場合はぜひヒアドキュメントを使って見やすくしよう、、、というお話でした。

追記:
定数は展開できない。
ではどうするか。こうするのが一つの方法?

define('HOGEHOGE','ほげ!');
$hogehogehoge = HOGEHOGE;
$hoge = <<<TEXT
<span class="fuga">私はhogeです。</span>
{$hogehogehoge}
TEXT;

でも、せっかく定義した定数を変数に入れて使うなんてなんかナンセンス、、、
クラスを使って展開する方法もあるらしいけどどちらにしろあまりよろしくないなぁと思った。

7
7
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7