我試圖從子類訪問一個對象的函數,其中對象是父類的受保護變量。訪問作爲父類的成員變量的對象的成員函數
我不完全確定最好的方式去... ...任何幫助或指針,將不勝感激。
下面是我如何安裝它,但它不工作。它提供了以下錯誤:
Catchable fatal error: Argument 1 passed to App\Parent::__construct() must be an instance of App\Object, none given, called in Controller.php on line 25 and defined in Parent.php on line 12
所以我理解錯誤,我需要在父類的實例某種方式傳遞到子類。但是這看起來像是反模式,因爲它擴展了Parent類。我必須錯過一些基本的東西。
Parent.php
class Parent
{
protected $object;
public function __construct(Object $object) // line 12
{
$this->object = $object;
}
}
Child.php
class Child extends Parent
{
public function doStuff()
{
return parent::$object->objectFunction());
}
}
Controller.php這樣
...
namespaces etc
...
public function control()
{
$parent = new Parent(new Object($variable));
$child = new Child(); // line 25
$child->doStuff();
}
謝謝,更有道理,它的工作吧!我會盡快接受答案。 –