我正在尝试将 SF 3.3 应用程序迁移到具有新目录结构和所有内容的 SF 4。
我在这个例外上苦苦挣扎:
编译容器时,“simplethings_entityaudit.reader”服务或别名已被删除或内联。您应该将其公开,或者直接停止使用容器并改用依赖注入。
(此服务来自位于 /vendor 的外部包)。
不过,当我bin/console debug:container simplethings_entityaudit.reader
看到该服务存在并且是公开的时:
服务“simplethings_entityaudit.reader”的信息 ==================================================== ======= ----------------- --------------------------------- ----- 期权价值 ----------------- --------------------------------- ----- 服务 ID simplethings_entityaudit.reader 类 SimpleThings\EntityAudit\AuditReader 标签 - 公开 是 合成无 懒惰的不 共享 是 摘要无 自动接线没有 自动配置否 工厂服务 simplethings_entityaudit.manager 工厂方法 createAuditReader ----------------- --------------------------------- -----
该服务目前在我自己的一个中调用$this->container->get('simplethings_entityaudit.reader')
。
我也尝试注入SimpleThings\EntityAudit\AuditReader
我的服务构造函数,但这是我得到的:
方法“__construct()”的参数“$auditReader”引用了类“SimpleThings\EntityAudit\AuditReader”,但不存在此类服务。它不能自动注册,因为它来自不同的根命名空间。
当我将它添加到我的services.yaml
它的工作原理时,但我不需要这样做:
SimpleThings\EntityAudit\AuditReader:
alias: simplethings_entityaudit.reader
有任何想法吗?