如何注入实例容器

编辑该页面

如何注入实例容器

在某些应用程序中,您可能需要注入服务类实例,而不是配置容器创建一个新的实例。

例如,内核在Symfony注入容ob娱乐下载器内内核类:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ /……使用ob娱乐下载\组件\HttpKernel\KernelInterface;使用ob娱乐下载\组件\HttpKernel\TerminableInterface;文摘内核实现了KernelInterface,TerminableInterface{/ /……受保护的函数initializeContainer():无效{/ /……美元- >容器- >集(“内核”,美元);/ /……}}

在运行时调用的服务集合成服务。该服务必须配置容器知道服务在编译过程中存在(否则,取决于服务内核会得到一个“服务不存在”错误)。

为了这样做,马克的服务合成服务定义配置:

  • YAML
  • XML
  • PHP
1 2 3 4 5
#配置/ services.yaml服务:#不指定一个类合成服务app.synthetic_service:合成:真正的

现在,您可以注入容器使用的实例容器::设置():

1 2 3
/ /实例化合成服务美元服务的=……;美元容器- >集(“app.synthetic_service”,美元服务的);
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop