使用の利点は何ですか?ヒアドキュメントPHP で例を示してもらえますか?
ベストアンサー1
ヒアドキュメント構文は私にとってはずっとわかりやすく、複数行の文字列や引用符の問題を回避するのに非常に便利です。昔は、SQL クエリを作成するのにヒアドキュメント構文を使用していました。
$sql = <<<SQL
select *
from $tablename
where id in [$order_ids_list]
and product_name = "widgets"
SQL;
私にとっては、引用符を使用するよりも、構文エラーが発生する可能性が低くなります。
$sql = "
select *
from $tablename
where id in [$order_ids_list]
and product_name = \"widgets\"
";
もう 1 つのポイントは、文字列内の二重引用符をエスケープしないようにすることです。
$x = "The point of the \"argument" was to illustrate the use of here documents";
上記の問題は、ヒアドキュメント構文とは対照的に、先ほど導入した構文エラー (エスケープされた引用符の欠落) です。
$x = <<<EOF
The point of the "argument" was to illustrate the use of here documents
EOF;
少しスタイルが違いますが、文字列を定義するためのシングル、ダブル、ヒアドキュメントのルールとして以下を使用します。
- シングル引用符は文字列が定数の場合に使用されます。
'no variables here'
- ダブル文字列を1行にまとめることができ、変数の挿入や埋め込みの一重引用符が必要な場合
"Today is ${user}'s birthday"
- ここ書式設定と変数の補間を必要とする複数行の文字列のドキュメント。