2012-09-23 35 views
0

反對我得到這個類:PHP OOP5 - 不能添加上下文通過方法

class Trajectory{ 
    private $points = array(); 

    public function __construct(){ 
    } 

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

當我嘗試運行的方法addPoint(),我getthing這個錯誤:

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

我試圖將其更改爲:

$points[] = $myPoint; 

但隨後的軌跡的$點陣列並沒有改變,而不是它的每一個我用的是增加時間創建一個新的$點陣列點法。

回答

4

您無法將此方法作爲靜態方法調用。

你應該在類的實例上調用它。

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

而不是Trajectory::addPoint($point);