котором внедряются классы:
protected function __construct(
ResourceRepository $resource,
ResourceTypeService $resourceTypeService)
{
$this->resource = $resource;
$this->resourceTypeService = $resourceTypeService;
}
Потом создаю дочерний класс от этого класса и пытаюсь там вызвать конструктор через parent::__construct();
Не уж то каждый раз в дочерних классах нужно в parent::__construct(); передавать классы, которые уже написаны в родительском классе? То есть так:
parent::__construct(
ResourceRepository $resource,
ResourceTypeService $resourceTypeService);
o_O construct это обычный метод, ты запрашиваешь параметры для него, не задавая дефолтные. Естественно, в таком случае надо передавать в него требуемые параметры.
увы да
То есть классы можно просто задать дефолтными значениями и не париться?
Смотря какая задача
если класс может работать с не преднастроенным экземпляром, то в конструкторе можно такое написать впрнцп: $this->resource = $resource ?? new ResourceRepository;
Обсуждают сегодня