PHPのデリミタ

2181 ワード

PHPはWebプログラミング言語なので、プログラミングの過程でechoで大きなhtmlやjavascriptスクリプトを出力することは避けられません.伝統的な出力方法である文字列で出力すると、文字列の引用符などの特殊文字を大量の変換子で変換し、文法の間違いが起こらないようにしなければなりません.1、2カ所なら許容できますが、完全なhtmlテキストや200行のjsなら誰でも崩壊すると思います.これがPHPが1つのデリミタを導入した理由です.少なくとも1つの原因はそうです.
1.PHPデリミタの役割は、改行形式などを含め、その内部に出力するものです.2.PHPデリミタにおける任意の特殊文字は、エスケープを必要としない.3.PHPデリミタのPHP変数は正常にその値で置き換えられます.
PHPのデリミタ形式は次のとおりです.
<<;

簡単そうに見えますが、注意すべき点がたくさんあります.
まず<<
PHPデリミタの使用中、2番目に注意しなければならない問題は、最もよく発生する問題でもあります.
最後の行(前例のEof;)では、必ず別の行を作成し、Eofを除いて行を変更します.このデリミタの末尾IDには、スペースを含む他の文字は使用できません.行の先頭または最後にスペースが表示された場合、タブには、Parse error:parse error、unexpected$end in......というエラーメッセージが表示されます.文法の間違いを示します.間違い
3つ目は、デリミタの間にPHPの変数が現れた場合、他の文字列に出力するように書くだけでいいことに注意してください.例えば、
<<;

変数$nameを{}で囲むのはPHP解析器にPHP変数であることを伝えるためですが、使わなくてもいいのですが、曖昧になる可能性があります.例えば、あなたの変数の後ろにちょうどアルファベットや特殊記号がないとどうなりますか.決してこのような書き方をしてはいけない.
<< echo $name?>
Eof;

このような場合、同じように文法の間違いの情報を受け取ることができます.まず、戦地でテストしたPHPデリミタの正しい書き方です.htmlとjavascriptのコードが含まれています.

$name = 'kitty';
echo <<
	
	{$name}
var p='hello world'; document.writeln(p); Eof
; ?>

転載先:https://www.cnblogs.com/gesenkof99/archive/2009/06/12/1501886.html