如何配置我创建的服务才能够进行类型暗示?我看过的所有服务容器文档,以及任何与symfony的文档并没有什么我试图做的作品...
添加到了services.yml
Tester:
class: AppBundle\Services\Tester
public: true
添加到了我的课
use AppBundle\Services\Tester;
试过的类型提示“测试$测试”,并得到错误。做错了什么?
在这种情况下,Tester
是一个服务名称,而不是一个类名是一个服务。
如果在该位置有一个类,你也希望它是公共的(在一个$container->get('\AppBundle\Services\Tester')
或->get(Tester::class)
使用,你可以这样定义它。
AppBundle\Services\Tester:
public: true
如果你只打算使用它作为一个类型的暗示,你不需要public:true
,如果类是在其他地方进口(可能进一步上涨相同的文件),你可能甚至不需要线水平,除非它本身不能被装配参数。
如果你只需要它get()
,能够在测试环境中,也可以是值得只是创建服务别名,只为services_tesy.yml:
# available as ->get('test_Tester') in a test
test_Tester:
class: AppBundle\Services\Tester:
public: true
我发现我需要的东西。我与Eclipse中的YAML编辑器的问题。它是制作标签的混乱,并不断地给我在其他方面的问题了。我结束了在安装YEdit,一切似乎工作。