Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定义Symfony 4.1中的合成服务不';我不能在一个包裹里工作_Symfony_Symfony4 - Fatal编程技术网

定义Symfony 4.1中的合成服务不';我不能在一个包裹里工作

定义Symfony 4.1中的合成服务不';我不能在一个包裹里工作,symfony,symfony4,Symfony,Symfony4,我正在创建定义合成服务的Symfony捆绑包: my_alias: public: true synthetic: true 安装捆绑包后,应用程序的控制台命令cache:clear总是失败,错误如下: [Symfony\Component\DependencyInjection\Exception\RuntimeException] 无效的服务“我的别名”:类“”不存在 如果在实际框架中创建相同的别名,则不会出现此错误 这是一个bug,还是我做错了什么?当您清除缓存时,内核将

我正在创建定义合成服务的Symfony捆绑包:

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
注入容器中的哪个文件?我们可能需要看更多关于这方面的代码才能理解?