[PHP-users 10737] Re: 関数内のprint <<<EOS 記述について

Naomasa Numajiri php-users@php.gr.jp
Fri, 11 Oct 2002 11:36:27 +0900


こんにちは、

調べかたのアドバスとして、

On Fri, 11 Oct 2002 01:55:00 +0000
"aiko" <vvv_aiko_vvv@hotmail.com> wrote:

; こんにちは。aikoです。
; いつもお世話になっております。
; 
; 早速ですが、htmlを記述したxxx.phpファイル内にphpで関数を作りました。
; 以下ソースです↓
; 
; ***************************
; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
; <html>
---略---
; </html>
; ***************************
; 
; <head></head>内で関数を作成し、それを呼んでhtmlを作成しているという形なので
; すが、
; 実行した場合、
; 
; Parse error: parse error, unexpected $ in /aaa.php on line 41
; 
; というエラーがでます。
; line41というのは、phpファイルの終了行です。
; 
; 	print <<<EOS
; 		:
; 		:
; 	EOS;
; 部分をコメントアウトして、
; print "aaa<br>";
; とすると、正常に動作するので、print <<<EOSの使用上の問題だとは
; 思っているのですが…

原因の調査をする場合、現象に関係ないと思われる部分を取り除いたりして
問題を切り分けて行くのがセオリーだと思います。

「『print "aaa<br>』ならうまく行くから『print <<<EOS』の問題」と
着眼点はいいと思いますので、今度は「print <<<EOS」を含んだ形での
動作確認として
print <<<EOS
aaa<br>
EOS;
と確認することになると思います。

これでうまくいかないなら、ベストな再現ケース(=より的確なキーワードで
検索ができる)となりますし、これでうまくいくなら、元のPHPから同じエラー
を維持したままで少しずつソースを切り落として行けば、いつかはエラー発生
の境界に出会うことになると思います。


地道でも、独力で解決できる方法として。

-- ぬ