PHP OOP5-无法通过方法向对象添加上下文

PHP OOP5-无法通过方法向对象添加上下文,php,oop,Php,Oop,我上了这门课: class Trajectory{ private $points = array(); public function __construct(){ } public function addPoint(Point $myPoint){ $this->points[] = $myPoint; // line 20 } } 当我尝试运行addPoint()方法时,出现以下错误: ( ! ) Fatal error

我上了这门课:

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数组。

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

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

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

而不是
轨迹::addPoint($point)

无法将此方法称为静态方法

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

$trajectory = new Trajectory();
$trajectory->addPoint($point);
而不是
轨迹::addPoint($point)