在哪里为我自己的库放置配置文件,并将路径注入Symfony服务

时间:2016-06-17 13:41:21

标签: php symfony symfony-2.1

好的,所以我有一个我写过的库,我想在Symfony中使用它。它的配置存储在yml文件中。

目前我在src/AppBundle/Resources/config中有yml文件。我需要将此配置文件的路径注入服务。目前,我只是简单地编码了services.yml中的配置文件的相对路径: -

service_name: class: My\Library\Service arguments: ["../src/AppBundle/Resources/config/my_library_config.yml"]

我觉得这不是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Extension类为您生成路径,并在容器编译时替换参数。

然而,Symfony已经有configuration processing method。扩展选项在没有配置的情况下是无用的,因此如果您不构建它以便重复使用,请使用%kernel.root_dir%来添加正确的路径。

如果 要重用它,那么将配置设置为静态就没有意义了。在这种情况下,我建议您进行配置选项,以便人们可以自己配置捆绑/选项。

您是否有想要制作自己的配置的实际原因?您可以简单地定义一个参数并将整个配置存储在一个参数中,这样可以避免创建和解析您自己的配置文件,并使您从参数系统中受益。