[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/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/