所以我已经设置了一个Symfony 3.4应用程序,我使用Symfony安装程序按照此处的说明下载了该应用程序:
https://symfony.com/download
我正在为我的雇主构建这个应用程序,以便在多个电子商务网站中运行。它不仅必须使用预装在/app/config/目录中的prod、test和dev配置,而且还需要为每个运行的站点设置一组站点唯一的配置(主要是几个trick global等)
我的问题是,检测我的应用程序运行在哪个网站上并将其传递到配置方面的最佳方法是什么?
我正在研究开发、测试和生产如何在web/app.php和web/app.dev.php中工作,并想知道是否有一些方法可以基于站点域类似地扩展这个概念。
不确定这是否重要,但我使用的是框架下载附带的默认Yaml配置文件,并希望在XML或PHP选项上坚持使用该文件。
谢谢你的帮助。
根据您的服务器配置,您有几个选项可以执行此操作。我所做的是在我的虚拟主机中定义一个环境变量SYMFONY__ENV
,如下所示:SetEnv SYMFONY__ENV dev
。
然后,您可以修改web/app.php
以读取此变量。
$env = strtolower(getenv('SYMFONY__ENV'));
$kernel = new AppKernel($env, $env === 'dev' || $env === 'test');
正如一位评论者所提到的,你应该在可能的时候更新到Symfony Flex,但你可以使用这个配置,直到你这样做。