主题注释中的环境变量

时间:2017-11-07 18:33:25

标签: php symfony routing annotations environment-variables

我正在创建一个处理子域名的网站,我已经设置了一个名为base_host的环境变量,现在我想将它用于Symfony 4中的@Route("/", name="homepage", host="{afdeling}.{domain}", defaults={"domain"="%env(base_host)%"}, requirements={"domain"="%env(base_host)%"})注释。

我尝试过sofar:using %env(base_host)% is not allowed in routing configuration但是这给了我一个错误:@Route("/", name="homepage", host="{afdeling}.%env(base_host)%")

我也尝试过:@Route("/", name="homepage", host="{afdeling}.{domain}", defaults={"domain"="%base_host%"}, requirements={"domain"="%base_host%"})这根本不起作用。

我所尝试的也是:The parameter "base_host" must be defined.但是这给了我错误消息:option (BUILD_SERVER "Build in server configuration" OFF) option (BUILD_TOOLS "Build external tools" ON) if (BUILD_SERVER) set (BUILD_TOOLS OFF) endif() message (STATUS "BUILD_TOOLS : ${BUILD_TOOLS}")

我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:3)

在路由配置中(尚未)支持环境变量。作为解决方法,您可以创建“代理”容器参数来实现它:

# app/config/config.yml <= Sf 3.4 >= config/services.yaml
parameters:
    base_host: '%env(BASE_HOST)%'

然后使用%base_host%作为任何路线选项。