0

我上了这门课:

class Trajectory{
    private $points = array();

    public function __construct(){
    }

    public function addPoint(Point $myPoint){
        $this->points[] = $myPoint; // line 20
    }
}

当我尝试运行方法 addPoint() 时,我得到了这个错误:

( ! ) Fatal error: Using $this when not in object context in /index.php on line 20

我尝试将其更改为:

$points[] = $myPoint;

但是轨迹的 $point 数组并没有改变,而是每次我使用 addPoint 方法时都会创建一个新的 $points 数组。

4

1 回答 1

4

您不能将此方法称为静态方法。

您应该在类的实例上调用它。

$trajectory = new Trajectory();
$trajectory->addPoint($point);

代替Trajectory::addPoint($point);

于 2012-09-23T05:29:59.883 回答