1

経由でオブジェクトを作成しているクラス「イベント」がありますmysqli_fetch_object__construct()関数が実行されており、オブジェクト変数が設定されていますが、関数内で設定されていません__construct()

次の行を使用してオブジェクトを作成しています。

$events[$x] = $result->fetch_object("Event")

次の関数を呼び出し$events[$x]->eventPlaces();て実行すると、変数がエコーされます。

public function eventPlaces()
{
    echo $this->capacity;
}

ただし、コンストラクト関数の同じコードでは、何もエコーしません。

public function __construct()
{
    echo $capacity;
    echo $this->capacity;
}

説明が不十分だった場合はお詫びします。コーディングに戻ったばかりで、OO php は私にとって初めてのことです。

4

1 に答える 1

0

クラスを次のようにしたいと思います。

class Event{
    protected $capacity;
    public __construct($capacity){
        $this->capacity = $capacity;
    }

    public function eventPlaces(){
        return $this->capacity;
    }
}

次に、次のようにします。

$events[$x] = $result->fetch_object("Event", array(12));
echo $events[$x]->eventPlaces();
于 2013-07-29T21:30:25.617 に答える