Я пытаюсь перенести приложение SF 3.3 в SF 4 с его новой структурой каталогов и всем остальным.
Я борюсь с этим исключением:
Служба или псевдоним simplethings_entityaudit.reader были удалены или встроены при компиляции контейнера. Вы должны либо сделать его общедоступным, либо прекратить использование контейнера напрямую и вместо этого использовать внедрение зависимостей.
(Эта услуга предоставляется из внешнего пакета, расположенного в / vendor).
Тем не менее, когда я bin/console debug:container simplethings_entityaudit.reader
вы увидите, что служба существует и является общедоступной:
Information for Service "simplethings_entityaudit.reader" ========================================================= ----------------- -------------------------------------- Option Value ----------------- -------------------------------------- Service ID simplethings_entityaudit.reader Class SimpleThings\EntityAudit\AuditReader Tags - Public yes Synthetic no Lazy no Shared yes Abstract no Autowired no Autoconfigured no Factory Service simplethings_entityaudit.manager Factory Method createAuditReader ----------------- --------------------------------------
Эта служба в настоящее время вызывается в одной из моих собственных с $this->container->get('simplethings_entityaudit.reader')
.
Я также попытался ввести SimpleThings\EntityAudit\AuditReader
в свой конструктор службы, но вот что я получил:
Аргумент «$ auditReader» метода «__construct ()» ссылается на класс «SimpleThings \ EntityAudit \ AuditReader», но такой службы не существует. Он не может быть автоматически зарегистрирован, потому что он из другого корневого пространства имен.
Когда я добавляю это в свой services.yaml
, он работает, но мне не нужно этого делать:
SimpleThings\EntityAudit\AuditReader:
alias: simplethings_entityaudit.reader
Любые идеи?
public:true
в качестве родственника к псевдониму - person john Smith   schedule 25.02.2019