PHP基礎構文 ヒアドキュメントとNowdocの構文と違いについて
TL;DR
- 基礎構文の1つでもあるヒアドキュメントとNowdocの構文に関して
- 基本的にヒアドキュメントで事足りる印象
-
適切さでいうと、変数展開を利用しないのであれば、Nowdocを利用すべきなのかもしれない
ヒアドキュメントとは
文字列を変数に代入、または出力するために利用する機能
機能の特徴柄、主に長い文字列の代入・出力のために利用する事が一般的な利用方法
ヒアドキュメント構文
$text = 'hello';
echo <<< EOL
input text.
{$text}
EOL;
/*
* 出力結果
*
* input text.
* hello
*/
Nowdoc構文
$text = 'hello';
echo <<< 'EOL'
input text.
{$text}
EOL;
/*
* 出力結果
*
* input text.
* {$text}
*/
構文の違い
1. エンドトークンにクォートがついてるかどうか
- ついてるのが、ヒアドキュメント
- ついていないのが、Nowdoc
エンドトークンとは
- EOLなどの特定の文字列を指す
- 例文に利用してるEOL以外にも下記ものも利用できる
- EOD
- End Of Documentの略
- EOF
- End Of Fileの略
- EOS
- End Of Sentenceの略
- EOT
- End Of Textの略
- EOL
- End Of Lineの略
$text = 'hello';
echo <<< EOL
input text.
{$text}
EOL;
/*
* 出力結果
*
* input text.
* hello
*/
$text = 'hello';
echo <<< 'EOL'
input text.
{$text}
EOL;
/*
* 出力結果
*
* input text.
* {$text}
*/
構文の違い
1. エンドトークンにクォートがついてるかどうか
- ついてるのが、ヒアドキュメント
- ついていないのが、Nowdoc
エンドトークンとは
- EOLなどの特定の文字列を指す
- 例文に利用してるEOL以外にも下記ものも利用できる
- EOD
- End Of Documentの略
- EOF
- End Of Fileの略
- EOS
- End Of Sentenceの略
- EOT
- End Of Textの略
- EOL
- End Of Lineの略
- EOD
- End Of Documentの略
- EOF
- End Of Fileの略
- EOS
- End Of Sentenceの略
- EOT
- End Of Textの略
- EOL
- End Of Lineの略
※利用するエンドトークンは同じである必要がある。
例えば、開始のエンドトークンにEOL、終わりのエンドトークンにEOD、などは利用できない
2. 変数展開ができるかどうか
- できるのが、ヒアドキュメント
- できないのが、Nowdoc
Author And Source
この問題について(PHP基礎構文 ヒアドキュメントとNowdocの構文と違いについて), 我々は、より多くの情報をここで見つけました https://qiita.com/tatsuo-iriyama/items/eabfa52a7649cc54357a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .