如何在Symfony 3.4中设置基于域的配置?

时间:2018-08-20 18:19:24

标签: symfony symfony-3.4 symfony-config-component

因此,我已经建立了一个Symfony 3.4应用程序,我已按照此处的说明使用Symfony安装程序下载了该应用程序:

https://symfony.com/download

我正在为我的雇主构建此应用程序,以便在多个电子商务站点中运行。不仅必须使用预安装在/ app / config /目录中的prod,test和dev配置,而且每个站点需要一个站点唯一配置(主要是几个twig全局变量等)。它继续运行。

我的问题是检测我的应用程序在哪个站点上运行并将其传递到事物配置方面的最佳方法是什么?

我正在研究如何在web / app.php和web / app_dev.php中进行开发,测试和生产,并想知道是否有某种方法可以基于站点域类似地扩展该概念。

不确定这是否重要,但我使用的是框架下载随附的默认Yaml配置文件,并且希望通过XML或PHP选项坚持使用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据服务器配置,您可以通过多种方法来执行此操作。我所做的就是在我的虚拟主机中定义一个环境变量SYMFONY__ENV,如下所示:SetEnv SYMFONY__ENV dev

然后,您可以修改web/app.php来读取此变量。

$env = strtolower(getenv('SYMFONY__ENV'));
$kernel = new AppKernel($env, $env === 'dev' || $env === 'test');

正如评论者所述,您应尽可能更新到Symfony Flex,但直到使用之前都可以使用此配置。