Я пытаюсь получить доступ к функции объекта из дочернего класса, где объект является защищенной переменной родителя.Доступ к функции-члену объекта, который является переменной-членом родительского класса
Я не совсем уверен, что лучший способ сделать это ... любая помощь или указатели будут оценены.
Ниже приведен пример настройки, но он не работает. Это дает следующее сообщение об ошибке:
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();
}
Спасибо, что делает гораздо больше смысла, она сейчас работает! Я приму ответ, как только это позволит. –