PhpStorm 2021.3 Help

服务容器

Symfony 应用程序包含多个称为服务的对象。某些服务,例如SessionDoctrineFileSystem,是使用 Symfony 作为开发平台所固有的。其他对象特定于正在开发的应用程序。Symfony 服务容器帮助实例化、组织和检索这些对象。它还包含一组参数,用于配置应用程序可以使用的行为或特定值。

Symfony 插件为注册到 Symfony 服务容器的服务和参数提供代码完成和导航,并帮助您注册新的。

Symfony 服务的代码完成

在编辑器中,按下Ctrl+Space以调用代码完成并执行以下任一操作:

  • 从服务容器中检索已注册的服务。

    Symfony 服务名称补全
  • 实例化服务的完整方法名称。

    Symfony 服务方法完成
  • 获取从服务容器获取的注册参数。

    Symfony 服务参数完成

服务的代码导航

要导航到服务声明,请将插入符号放在其使用处,然后按Ctrl+B。或者,Ctrl+Click用法。

导航到 Symfony 服务名称声明

Navigate to declaration命令还可以让您在服务实现和它注册的路由之间导航。例如,您可以从Filesystem类跳转到注册类的 services.xml 文件。从那里,您可以导航回服务的注册实现或其使用情况。

在 Symfony 服务实现和声明之间导航

服务代码检查

Symfony 插件提供了几种检测服务注册错误的检查。

  • 当您使用未在服务容器中注册的服务时,PhpStorm 会显示来自Missing Service检查的相应警告。.

    Symfony 缺失服务检查
  • 当您注册已在服务容器中注册的服务时,PhpStorm 会显示来自重复服务检查的相应警告。.

    Symfony 重复服务检查

注册服务

服务通常通过在YAMLXML配置文件中添加相应记录来向服务容器注册。例如,要向服务容器注册一个Twig扩展,您可以添加以下记录:

服务:blogger_blog.twig.extension:类:Blogger\BlogBu​​ndle\DependencyInjection\BloggerBlogExtension 标签:-{名称:twig.extension}

服务注册记录至少由服务名称和实现它的类组成。此外,它通常包含在实例化服务时应由服务容器提供的参数的指令。

Symfony 插件提供了创建服务工具,可以帮助创建 YAML XML注册。

注册服务

  1. 在代码编辑器中右键单击并从上下文菜单中选择创建服务。

    Symfony 创建服务命令
  2. 在打开的服务生成器对话框中,提供类的 FQN 以在字段中注册到服务容器。

    Symfony 服务生成器对话框

    需要成为注册一部分的潜在方法列表会自动填充。如有必要,单击“生成”以刷新它。

    • 在创建服务时,您可以让服务容器为类中的每个函数分配参数。这是通过选择或取消选择Act复选框来调节的。

    • Service列中,您可以选择应该注入参数的服务。

  3. 通过选择相应的选项来选择是生成YAML还是XML 。

  4. 单击复制到剪贴板,将生成的服务注册粘贴到配置文件中,例如services.yml

最后修改时间:2021 年 3 月 8 日