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;

ただし、Trajectoryの$ point配列は変更されません。代わりに、addPointメソッドを使用するたびに新しい$points配列が作成されます。

4

1 に答える 1

4

このメソッドを静的メソッドとして呼び出すことはできません。

クラスのインスタンスで呼び出す必要があります。

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

それ以外のTrajectory::addPoint($point);

于 2012-09-23T05:29:59.883 に答える