phpのヒアドキュメントとnowdoc、phperedocnowdocの紹介
ヒアドキュメント技術は一般に、正式な PHP ドキュメントや技術書には詳しく説明されておらず、Perl スタイルの文字列出力技術であるとのみ言及されています。ただし、現在のフォーラム プログラムや記事システムの一部では、ヒアドキュメント テクノロジを巧みに使用して、インターフェイスとコードの準分離を部分的に実現しています。その典型的な例が phpwind テンプレートです。
1. <<
2. 開始タグと終了タグの間にある変数は正常に解析できますが、関数は解析できません。ヒアドキュメントでは、次のように変数をコネクタで結合する必要はありません。
コードをコピーします コードは次のとおりです:
$v=2
$a= <<
"abc"$v
「123」
終わり
echo $a; //結果は二重引用符で囲まれて出力されます: "abc"2 "123"
3.heredoc は、大量の HTML 構文を含むドキュメントを出力する場合によく使用されます。たとえば、関数outputhtml()はHTMLホームページを出力する必要があります。書き方は2通りあります。明らかに、2 番目の書き方の方がシンプルで読みやすいです。
コードをコピーします コードは次のとおりです:
関数outputhtml(){
エコー "";
echo "
ホームページ";
echo "ホームページのコンテンツ";
エコー ";
}
関数outputhtml()
{
エコー <<
ホームページ
ホームページのコンテンツ
}
出力html();
$ 変数はヒアドキュメント内で自動的に置き換えられ、コマンドと入力は便宜上まとめられます
添付: ヒアドキュメントとナウドキュメントの違い
heredoc は <<< EOT 識別子を使用しますが、nowdoc は PHP5.3 で導入された新しいテクノロジです。コンテンツのエスケープや解釈は何でも構いません。コンテンツはそのままであり、PHP 関連のコンテンツは解析されません
。
ヒアドキュメント内の PHP 変数は {$name->change()} 中括弧で囲むことをお勧めします。これにより、変数をそのまま出力したい場合は、伝説のエスケープ文字を使用できます。文字そのものをエスケープして出力する、つまりこの表現方法です。中括弧などはエスケープして出力する必要があります。
確実に使用できるようにするには、エスケープ機能も備えた heredoc 構文を使用することをお勧めします。nowdoc 構文は PHP5.3 で導入されたものであるため、多くのクラウド ホスティング環境ではサポートされていない可能性があり、障害が発生する可能性があります。
最後に、heredoc は PHP 4.0 から導入されたものであることを強調したいと思いますが、nowdoc 構文にはバージョン 5.3 が必要です。heredoc には nowdoc の機能が含まれているため、個人的には heredoc を使用することをお勧めします。
簡単に言うと:
1. ヒアドキュメントは動的であり、nowdoc は静的です
2. heredoc は複数行の二重引用符に似ており、newdoc は複数行の一重引用符に似ています
3. heredoc は文字列の大きなセグメントの処理に特化した一般的な処理ソリューションですが、nowdoc は「heredoc」の動的実装の効率性の問題を補うために PHP によって実装された「非常に効率的な」静的バージョンです
http://www.bkjia.com/PHPjc/932475.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/932475.html
技術記事 php のヒアドキュメントとnowdoc の紹介、phpheredocnowdoc ヒアドキュメント技術は通常の PHP ドキュメントや技術書では詳しく説明されていません。これが Perl スタイルの文字列であることのみが言及されています...。