如何在 Symfony 3.4 中设置基于域的配置?
How do I set domain based configuration in Symfony 3.4?
所以我设置了一个 Symfony 3.4 应用程序,我使用 Symfony 安装程序按照此处的说明下载了它:
我正在为我的雇主在多个电子商务网站中 运行 构建这个应用程序。它不仅必须使用预装在 /app/config/ 目录中的 prod、test 和 dev 配置,而且还需要为每个站点设置一组站点唯一配置(主要是几个 twig 全局变量等)它 运行 开启。
我的问题是,检测我的应用 运行 正在哪个站点并将其传递到事物的配置方面的最佳方法是什么?
我正在研究开发、测试和生产在 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,但您可以使用此配置直到您这样做。
所以我设置了一个 Symfony 3.4 应用程序,我使用 Symfony 安装程序按照此处的说明下载了它:
我正在为我的雇主在多个电子商务网站中 运行 构建这个应用程序。它不仅必须使用预装在 /app/config/ 目录中的 prod、test 和 dev 配置,而且还需要为每个站点设置一组站点唯一配置(主要是几个 twig 全局变量等)它 运行 开启。
我的问题是,检测我的应用 运行 正在哪个站点并将其传递到事物的配置方面的最佳方法是什么?
我正在研究开发、测试和生产在 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,但您可以使用此配置直到您这样做。