近況・生存確認はこちら→つぶやき(偽X)
スポンサーリンク

『<<<』ヒヤドキュメントについて

[PR] 記事内には広告が含まれています。

PHPで、右側が大きい不等号を3つ連続して記入してコードを記述するのを、なんと呼ぶか忘れてしまったことがあり、検索も難しかったので、覚書。
『ヒアドキュメント』というそうです。

たとえば

<?php
    <<<eof<html>
    <header>タイトル<header>
    <body>ボディ</body>
    </html>
    eof;?>

長い文字列やhtmlタグをまとめて出力する<<<不等号3つで始まる記述のことを”ヒヤドキュメント”と呼びます。上記でeofと書いた部分の文字列は、上下(始まりと終わりが)共通してれば何でもいい。こちらがPHP公式マニュアル
– http://php.net/manual/ja/language.types.string.php

注意する点として、警告に記述があります。

非常に重要なことですが、終端 ID がある行には、セミコロン (;) 以外の他の文字が含まれていてはならないことに注意しましょう。 これは、特に ID はインデントしてはならないということ、 セミコロンの前に空白やタブを付けてはいけないことを意味します。 終端 ID の前の最初の文字は、使用するオペレーティングシステムで定義された 改行である必要があることにも注意を要します。 これは、例えば、Macintoshでは \r となります。 最後の区切り文字 (たいていはその後にセミコロンが続きます) の後にもまた、改行を入れる必要があります。

この規則が破られて終端 ID が “clean” でない場合、 終端 ID と認識されず、PHP はさらに終端 ID を探し続けます。 適当な終了 ID がみつからない場合、 スクリプトの最終行でパースエラーが発生します。

詳しくはこちらがわかりやすいです。
PHPのヒアドキュメント / 【超初心者のホームページ作成】
– http://beginners.atompro.net/faqphp_heardoc.html

※ちなみに、Wordpress&genesisテーマで、タイトルに<<<を半角英数字で入力すると、パンくずリストに正常に表示されないため、全角文字にて入力しました。