php でヒアドキュメントの変数を展開しない
ヒアドキュメントで js を書きたいときがあって、jQuery Object は prefix で $ をつけるようにしているので、 $hoge
が展開されてしまって困った。
<<<'EOL'
シングルクォートで囲むと変数が展開されないようになる。Newdoc というらしい。べんり。
<?php $tako = "ika"; echo <<<EOL $tako $tako EOL; // ika ika echo <<<'EOL' $tako $tako EOL; // $tako $tako
Nowdoc はヒアドキュメントと似ていますが、 ヒアドキュメントがダブルクォートで囲んだ文字列として扱われるのに対して、 Nowdoc はシングルクォートで囲んだ文字列として扱われます。 Nowdoc の使用方法はヒアドキュメントとほぼ同じですが、 その中身について パース処理を行いません。 PHP のコードや大量のテキストを埋め込む際に、 エスケープが不要になるので便利です。この機能は、SGML の (ブロック内のテキストをパースしないことを宣言する) と同じようなものです。
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc