0

私は現在 Codecademy で PHP を学んでいますが、レッスンで 1 つのエラーが発生しました。理由はわかりません。このエラーが発生しますUndefined variable: name (line 21)Woof, woof! !

これが私のコードです:

<?php 
    class Dog {
        public $numLegs = 4;
        public $name;
        public function __construct($name){
            $this->name = $name;
        }
        public function bark(){
            return "Woof!";
        }
        public function greet(){
            return "Woof, woof! ".$name."!";
        }
    }
    $dog1 = new Dog("Barker");
    $dog2 = new Dog("Amigo");
    $dog1->bark();
    echo $dog2->greet();
?>

このレッスンhttp://www.codecademy.com/courses/web-beginner-en-ZQQ64/0/8#にあります。助けてくれてありがとう。:)

4

2 に答える 2

6

クラス フィールドを参照するには、フィールド名を で修飾する必要があります$this->。したがって、この行:

return "Woof, woof! ".$name."!";

これでなければなりません:

return "Woof, woof! ".$this->name."!";
于 2013-06-19T16:32:13.723 に答える
3

21行目で$name定義されていないことがわかります。ということ$this->nameですか?

于 2013-06-19T16:32:12.570 に答える