From de33d87abd7f29cd68af702e87ca88ed024f631b Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Sun, 26 Nov 2017 20:20:54 +0100 Subject: [PATCH] [WebProfilerBundle] Expose dotenv variables --- .../Resources/views/Collector/request.html.twig | 10 +++++++++- .../DataCollector/RequestDataCollector.php | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig index 8f94f6f5f0..cdac8c840c 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig @@ -167,7 +167,15 @@ {% endif %}

Server Parameters

- {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.requestserver }, with_context = false) }} +

Defined in .env

+ {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.dotenvvars }, with_context = false) }} + +

Defined as regular env variables

+ {% set requestserver = [] %} + {% for key, value in collector.requestserver if key not in collector.dotenvvars.keys %} + {% set requestserver = requestserver|merge({(key): value}) %} + {% endfor %} + {{ include('@WebProfiler/Profiler/table.html.twig', { data: requestserver }, with_context = false) }} diff --git a/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php index 1bd3da4547..f68bf35282 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php @@ -78,6 +78,13 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter $responseCookies[$cookie->getName()] = $cookie; } + $dotenvVars = array(); + foreach (explode(',', getenv('SYMFONY_DOTENV_VARS')) as $name) { + if ('' !== $name && false !== $value = getenv($name)) { + $dotenvVars[$name] = $value; + } + } + $this->data = array( 'method' => $request->getMethod(), 'format' => $request->getRequestFormat(), @@ -100,6 +107,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter 'path_info' => $request->getPathInfo(), 'controller' => 'n/a', 'locale' => $request->getLocale(), + 'dotenv_vars' => $dotenvVars, ); if (isset($this->data['request_headers']['php-auth-pw'])) { @@ -254,6 +262,11 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter return $this->data['locale']; } + public function getDotenvVars() + { + return new ParameterBag($this->data['dotenv_vars']->getValue()); + } + /** * Gets the route name. *