1

我有一个“事件”类,我正在从中创建对象 via 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 回答