定义Symfony 4.1中的合成服务不';我不能在一个包裹里工作
我正在创建定义合成服务的Symfony捆绑包:定义Symfony 4.1中的合成服务不';我不能在一个包裹里工作,symfony,symfony4,Symfony,Symfony4,我正在创建定义合成服务的Symfony捆绑包: my_alias: public: true synthetic: true 安装捆绑包后,应用程序的控制台命令cache:clear总是失败,错误如下: [Symfony\Component\DependencyInjection\Exception\RuntimeException] 无效的服务“我的别名”:类“”不存在 如果在实际框架中创建相同的别名,则不会出现此错误 这是一个bug,还是我做错了什么?当您清除缓存时,内核将
my_alias:
public: true
synthetic: true
安装捆绑包后,应用程序的控制台命令cache:clear
总是失败,错误如下:
[Symfony\Component\DependencyInjection\Exception\RuntimeException]
无效的服务“我的别名”:类“”不存在
如果在实际框架中创建相同的别名,则不会出现此错误
这是一个bug,还是我做错了什么?当您清除缓存时,内核将重新编译,容器将无法识别未注入容器的服务,这就是为什么您需要将其注入内核类下:
if (!$container->hasDefinition('my_alias')) {
$container->set('my_alias', new SyntheticService());
}
在
configureContainer
的内核中,$container->hasDefinition('my_alias')
返回false,因此这不起作用。此外,为什么捆绑包定义服务的事实与我定义服务的应用程序不同?我看不出有什么区别。事实上,这是一个打字错误,应该是没有定义的
您将my_alias
注入容器中的哪个文件?我们可能需要看更多关于这方面的代码才能理解?