如何导入配置文件/资源

编辑本页

如何导入配置文件/资源

提示

在本节中,业务配置文件被称为资源.虽然大多数配置资源是文件(例如YAML, XML, PHP), Symfony能够从任何地方加载配置(例如数据库,甚至通过外部web服务ob娱乐下载)。

服务容器是使用单一配置资源(配置/ services.yaml默认情况下)。这为应用程序中的服务提供了绝对的灵活性。

外部服务配置可以通过两种不同的方式导入。方法,通常用于导入其他资源进口指令。第二种方法使用依赖注入扩展,由第三方捆绑包用于加载配置。继续读下去,了解更多关于这两种方法的信息。

导入配置进口

默认情况下,服务配置存在配置/ services.yaml.但是如果这个文件变大了,你可以自由地组织成多个文件。假设你决定移动一些配置到一个新文件:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6
#配置/服务/ mailer.yaml参数:#……一些参数服务:#……一些服务

要导入此文件,请使用进口键,并传递一个相对路径或绝对路径给导入的文件:

  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15
#配置/ services.yaml进口:-资源:服务/ mailer.yaml如果你想导入一个完整的目录:-资源:服务/服务:_defaults:自动装配:真正的可以使用autoconfigure:真正的App \:资源:“. . / src / *”排除:“. . / src / {DependencyInjection、实体、迁移、测试,Kernel.php}”#……

加载配置文件时,Symfony首先加载导入的文件,然后处理文件中定义的ob娱乐下载参数和服务。如果你使用默认的服务。yaml的配置在上面的例子中,App \定义为中找到的类创建服务. . / src / *.如果您导入的文件也为这些类定义了服务,那么它们将被覆盖。

方法中添加导入文件的类和/或目录,这是一个可能的解决方案排除选项App \定义。另一种解决方案是不使用导入并在同一文件中添加服务定义,而是在App \定义来覆盖它。

请注意

由于解析参数的方式,您不能使用它们动态地在导入中构建路径。这意味着以下内容是行不通的:

  • YAML
  • XML
  • PHP
1 2 3
#配置/ services.yaml进口:-资源:' % kernel.project_dir % / somefile.yaml '

通过容器扩展导入配置

第三方捆绑容器配置,包括Symfony核心服务,通常使用另一种方法加载ob娱乐下载容器扩展

在内部,每个bundle在文件中定义了它的服务,就像您已经看到的那样。方法导入这些文件进口指令。相反,bundle使用依赖注入扩展自动加载文件。只要您启用了一个bundle,它的扩展就会被调用,它能够加载服务配置文件。

实际上,每个配置文件都在配置/包/传递给其相关包的扩展。FrameworkBundleTwigBundle-并用于进一步配置这些服务。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop