• ベストアンサー

参考サイトのサンプルコードを試すとエラーになる原因

2K-NT-XP-phpdev_start.batを開いたときに出てくるコマンドプロンプトは開いたままで、 Apache/1.3.27 (Win32) PHP/4.2.3 running... と表示されています。 http://www.phpbook.jp/tutorial/member/index1.html のサイトのコードを開いて見ると、 Parse error: parse error, expecting `'{'' in c:\phpdev\www\ajax\goo.php on line 14 というエラーメッセージが表示されてしまいます。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>サンプル</title> </head> <body> <?php $tv = new Television(); $tv->channelNo = 8; $tv->dispChannel(); class Television(){ public $channelNo; function dispChannel(){ print('現在のチャンネルは'.$this->channelNo); } } ?> </p> </body> </html> なぜエラーメッセージが出てしまうのでしょうか。 ちなみに、 <?php echo 'テスト'; ?> と書き変えるとちゃんと表示されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.3

あなたがちゃんと読んでいないから、といった回答がついてますが、 参考サイトには class Television(){ というひどい表記がありますね。 これは class Television{ が正解です。 質問者の方は何が正しいか分からないのだから、悪くないと思います。 災難でしたね。

kiseki777
質問者

お礼

ありがとうございます。勉強不足でした。 直してみたところ、その部分のエラーはなくなりました。 しかし、その次の行の public $channelNo; でエラーになってしまいました。 サンプルコードでは表示できているようですが、 これも本当はちゃんと表示されないのですか。

その他の回答 (2)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 クラスの定義は class Television { } です。 よーくみてみてください。 class Television() { }

kiseki777
質問者

お礼

ありがとうございます。 直してみたところ、その部分のエラーはなくなりました。 しかし、その次の行の public $channelNo; でエラーになってしまいました。 サンプルコードでは表示できているようですが、 これも本当はちゃんと表示されないのですか。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

その「サンプルコード」の通りにしていないから, かな.

kiseki777
質問者

お礼

そのページのサンプルコードをいくつか見比べてみると違いがありました。 class Television() { } を class Television { } ですね。 その部分のエラーはなくなりました。 しかし、その次の行の public $channelNo; でエラーになってしまいました。 サンプルコードでは表示できているようですが、 これも本当はちゃんと表示されないのですか。

関連するQ&A