【问题标题】:Symfony: Loading specific configuration based on urlSymfony:根据 url 加载特定配置
【发布时间】:2013-04-12 14:28:30
【问题描述】:

我有一个标准的 Symfony 2.2 项目和我自己的小 Bundle。 我有一条路线说我有一个 /{customer} 并且我可以在控制器中读取 customer 很好,到目前为止一切顺利。

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

【问题讨论】:

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

标签: url symfony configuration parameters


【解决方案1】:

您可以在特定的捆绑包与给定的主机匹配时加载它。然后该包将加载其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。 http://symfony.com/doc/master/components/routing/hostname_pattern.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    相关资源
    最近更新 更多