Symfony 3.3 services autoconfiguration

六月ゝ 毕业季﹏ 提交于 2019-12-04 05:43:36

I had same error message, but caused by different bug. Maybe somebody will find this useful.

My initial config in service.yml was:

app.my_service:
    class: 'AppBundle\Service\MyService'
    arguments:
        $foobar: 'some value for foobar'
    public: true

And I was getting this error:

Cannot autowire service "AppBundle\Service\MyService": argument "$foobar" of method "__construct()" must have a type-hint or be given a value explicitly.

Then few hours later I found the solution:

AppBundle\Service\MyService:
    arguments:
        $foobar: 'some value for foobar'

app.my_service:
    alias: AppBundle\Service\MyService
    public: true

So problem was in case that i was trying to use services.yml from AppBundle, if i understand right, old style of importing services from bundles doesn't work with autowiring/autoconfiguring because we need to rewrite load() method from AppExtension to use type hints. So i've replaced all my services to app/config/services.yml and it helps me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!