服务容器
Symfony 应用程序由多个称为 服务的对象组成。 某些服务,例如 会话、 Doctrine 或 FileSystem ,是使用 Symfony 作为开发平台所固有的。 其他对象是特定于正在开发的应用程序的。 Symfony 服务容器有助于实例化、组织和检索这些对象。 它还包含一组参数,可用于配置应用程序可以使用的行为或特定值。
Symfony 支持插件为注册到 Symfony 服务容器中的服务和参数提供代码补全和导航,并协助您注册新的服务。
Symfony 服务的代码补全
在编辑器中,按 Ctrl+Space 调出以下任意内容的代码补全:
从服务容器中检索已注册的服务。

为实例化的服务补全方法名称。

从服务容器中获取已注册的参数。

服务的代码导航
要导航到服务的声明,请将光标放在其使用位置并按 Ctrl+B。 或者, Ctrl+Click 使用位置。

导航到声明 命令还允许您在服务的实现和其注册的路由之间导航。 例如,您可以从 Filesystem 类跳转到注册该类的 services.xml 文件。 从那里,您可以导航回服务的已注册实现或其使用位置。

服务的代码检查
Symfony 支持插件提供了多种检查,用于检测 服务注册中的错误。

注册服务
服务通常通过在 YAML 或 XML 配置文件中添加相应的记录来注册到服务容器中。 例如,要将 Twig扩展注册到服务容器中,您可以添加以下记录:
服务注册记录至少由服务的名称和实现它的类组成。 此外,它通常包含指示在实例化服务时服务容器应提供的参数的指令。
Symfony 支持插件提供了 创建服务 工具,可协助创建 YAML 或 XML 注册。
注册一个服务
在代码编辑器中右键单击并从上下文菜单中选择 创建服务。

在打开的 服务生成器 对话框中,在 类 字段中提供要注册到服务容器的类的 FQN。

需要成为注册一部分的潜在方法列表会自动填充。 如有必要,单击 生成 以刷新它。
在创建服务时,您可以让服务容器为类中的每个函数分配参数。 这可以通过选择或取消选择 操作 复选框来调节。
在 服务 列中,您可以选择应注入到参数中的服务。
通过选择相应的选项,选择是生成 YAML 还是 XML 。
单击 复制到剪贴板 并将生成的服务注册粘贴到配置文件中,例如 services.yml 。