[PHP-users 4944] Re: ヒアドキュメントが使えない!
Naofumi Kondoh
php-users@php.gr.jp
Thu, 24 Jan 2002 17:32:08 +0900
ソフト工房の近藤です。
KITAO Masato wrote:
>
> きたおです。
>
> matsuさんは、マニュアルはお読みになられたでしょうか。
>
> ヒアドキュメント構文については
> http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
> にも書かれている通り、インデント後に終端文字列;をつけても認識されませ
> ん。そのため、EOFまでいってもヒアドキュメントの終了が宣言されていない
> ので、パースエラーがでているわけです。
終端IDの前に空白を入れるミスはやるひと多いかも。
私は、他の言語でヒアドキュメントを使い慣れている
つもりなんですが、PHP の場合、末尾の ; (セミコロン)
を書き忘れて、PHP に怒られました。
好みというか、コーディング規定の類ですが、
ヒアドキュメントの終端IDは、できるだけ目立つ文字列
の方がいいように思います。
わたしはアンダーラインを多用しています。
以前にも話題になりましたが、ヒアドキュメントでは
define した定数が使えないのが悩みです。
しかたないので、PHP 変数に入れて使ってますが、もう
少しスマートなやり方はないものかと。
define('MYCOLOR', '#CCFFFF');
.....
$MYCOLOR = MYCOLOR;
echo <<< HOGE____EOD____
.......
<td bgcolor="{$MYCOLLOR}"> .....
.......
HOGE____EOD____;
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(株)ソフト工房 近藤直文 Email: nkon@shonan.ne.jp
PostgreSQL+PHP ソースコードジェネレーター セミナースライド
http://www.shonan.ne.jp/~nkon/cslpg.a.semi/
http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/