1

所以我设置了一个 Symfony 3.4 应用程序,我使用 Symfony 安装程序按照此处的说明下载了该应用程序:

https://symfony.com/download

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

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

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

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

谢谢你的帮助。

4

1 回答 1

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,但您可以使用此配置,直到您这样做。

于 2018-08-20T22:09:24.870 回答