Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony:基于url加载特定配置_Url_Symfony_Configuration_Parameters - Fatal编程技术网

Symfony:基于url加载特定配置

Symfony:基于url加载特定配置,url,symfony,configuration,parameters,Url,Symfony,Configuration,Parameters,我有一个标准的Symfony 2.2项目和我自己的小软件包。 我有一条路线,说我有一个/{customer},我可以在控制器中阅读customer很好,到目前为止还不错 但是,我还想加载一个名为config_{customer}.yml的配置,我该怎么做?您可以在与给定主机匹配时加载特定的捆绑包。然后,该捆绑包将加载其services.yml文件 # app/config/routing.yml acme_hello: resource: "@AcmeHelloBundle/Resour

我有一个标准的Symfony 2.2项目和我自己的小软件包。 我有一条路线,说我有一个
/{customer}
,我可以在控制器中阅读
customer
很好,到目前为止还不错


但是,我还想加载一个名为
config_{customer}.yml的配置,我该怎么做?

您可以在与给定主机匹配时加载特定的捆绑包。然后,该捆绑包将加载其
services.yml
文件

# app/config/routing.yml
acme_hello:
    resource: "@AcmeHelloBundle/Resources/config/routing.yml"
    host:     "hello.example.com"
您的捆绑包的服务文件:

# src/Acme/HelloBundle/Resources/config/services.yml
acme_hello:
    param: value
有关更多信息,请参阅以下URL。

您是否需要将此配置注入任何
服务.yml
?我的意思是,可以通过
%参数%
调用吗?这些参数将用于何处?这个问题有很多答案,但我认为你走错了方向。我假设您正在将
config{customer}
放在
app/config/
目录中。这些配置确定如何编译容器。路由的customer参数在编译后才可用,因此这种更改环境的方法永远不会起作用。但是,您可以在编译后修改服务,这将起作用,并且您可以将配置文件加载到执行此操作的服务中。