こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHP初心者です。

PHP初心者です。
PHP5を使っているのでオブジェクト指向で開発してみようと
見つけたサンプルを動かしているところですが、下記のエラー
が発生します。

Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in C:\inetp
ub\boxing\Boxing.php on line 16

以下ソースです。
全角スペースが入ると上記に類似のエラーが発生したことがあるので、その点はチェックしたのですが…

何かお気づきの点があればご指摘いただけると嬉しいです。
よろしくお願いします。


<?

interface Boxer {
public function punch();
}

class Fighter implements Boxer {
public function punch() {
echo "猫パンチ";
}
}

class Boxing {
private Boxer $fighter;

public function setFighter( Boxer $fighter ) {
$this->fighter = $fighter;
}

public function play() {
$this->fighter->punch();
}
}

$boxer = new Fighter;
$boxing = new Boxing;
$boxing->setFighter( $boxer );

//猫パンチと表示
$boxing->play();

?>

投稿日時 - 2010-09-16 21:27:41

QNo.6187243

すぐに回答ほしいです

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

himajin100000さんが疑問に思ったとおりで、PHPはメンバ変数に型指定できません。

Boxingクラスの
private Boxer $fighter;

private $fighter;
に変更すると動くようになるようです。

投稿日時 - 2010-09-17 00:21:09

お礼

ご指摘ありがとうございます!

丁寧に変更箇所まで書いていただき感謝です♪
アドバイス通り変更して動きました!!

PHPではメンバ変数に型指定できないのですね!
今後気をつけます!

メソッドの引数には型指定OKなのですね(^_^;)

ありがとうございました。

投稿日時 - 2010-09-17 13:13:10

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

PHPのメンバ変数って型指定できるの?

投稿日時 - 2010-09-16 23:06:28

お礼

ご指摘ありがとうございます!

メンバ変数の型指定をとったらいけました。

ありがとうございました。

投稿日時 - 2010-09-17 13:11:18

あなたにオススメの質問