Что мне нужно для того, чтобы сделать эту работу?symfony: автоувеличивание интерфейса
interface BaseServiceInterface {
public function getRecords();
}
class BaseService implements BaseServiceInterface{
public function getRecords(){
return "bla";
}
}
class SomeOtherService{
private $baseService;
public function __construct(BaseServiceInterface $baseService){
$this->baseService = $baseService;
}
}
мой service.yml выглядит следующим образом:
base_service:
class: AppBundle\Service\BaseService
autowire: true
Когда я пытаюсь запустить это я получаю:
Может не autowire аргумент 1 для AppBundle \ Service \ SomeOtherService потому типа -hinted класс не существует (класс BaseServiceInterface не существует).
вы зарегистрировать 'SomeOtherService' внутри той же' service.yml' файл? Являются ли все пространства имен этого класса правильными? – Federkun
@Federkun да, когда я удаляю «Интерфейс» из конструктора = означает, что я прямо впрыскиваю реализацию, в которой он работает. Когда я пытаюсь ввести интерфейс, он возвращает ошибку, упомянутую выше. –
можете ли вы добавить 'autowiring_types: BaseServiceInterface' в свой' base_service'? – Federkun