• ベストアンサー

Parse errorについて教えてください

私は独習PHPという参考書でプログラムの勉強をしている初心者です。 先日、PHPの「オブジェクト指向構文」を勉強していたのですが、その中の「継承」という項目にあるサンプルプログラムを動かしてみたのですがParse errorと言うメッセージが出て動きません。構文に関するエラーという事はわかったのですが括弧や;をチェックしても参考書と変わらないのでタイプミスではないと思うのですが、どなたか解決法をご教授お願いします。以下はそのときのプログラムとエラーメッセージです。 ファイル名:subclass.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>サブクラス</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF8" /> </head> <body> <?php class MyClass {  protected $data; public function __construct($data){ $this->data=$data; } public function showData(){ return '入力値は「'.$this->data.'」です。'; } } class MySubClass extends MyClass { public function showData(){ return '***入力値は「'.$this->data.'」です。***'; } } $obj=new MySubClass('PEAR'); print($obj->showData()); ?> </body> </html> エラーメッセージ: Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\samples\chap2\subclass.php on line 12

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

 protected $data; ↑に全角の空白文字があるのが原因でしょう

kumobuki
質問者

お礼

全角スペース消したらできました。 初歩的なミスで恥ずかしいです。 php504さんありがとうございます。

その他の回答 (1)

noname#94983
noname#94983
回答No.1

protected $data;の前に全角のスペースがあるが、これは削除しているだろうか?