为什么Symfony 3.4不能看到我的服务?

时间:2017-11-30 23:01:27

标签: php symfony symfony-3.4

我刚刚将现有的Symfony项目从3.3.13升级到3.4。

我修改了我的bundle的services.yml文件,默认情况下将服务公开:

services:
    _defaults: { public: true }
...

当我尝试get()该文件和控制台调试中定义的任何服务时,Symfony抛出一个ServiceNotFoundException异常:容器没有显示任何服务,甚至没有--show-private。

我知道正在处理该文件是因为引入了错误(例如,中断了缩进),因此在加热缓存时会抛出错误。

我已尝试删除默认设置并使特定服务公开,但结果相同。

该文件是src / SiteBundle / Resources / config / services.yml

1 个答案:

答案 0 :(得分:0)

因为所有服务are private by default since Symfony 3.4

不仅是你的配置中的那些,还有所有第三方和其他配置。



如果你需要测试私人服务,这里的帖子是How to Test Private Services in Symfony