From 23ad78609fcc5324deb4ea7f2bb1a1148720fc3e Mon Sep 17 00:00:00 2001 From: Andrew Stoltz Date: Sun, 5 Jul 2015 13:56:23 -0500 Subject: [PATCH] Merge Twig global scope with Laravel Globals --- src/Bridge.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/Bridge.php b/src/Bridge.php index 52c661d7..251a6689 100644 --- a/src/Bridge.php +++ b/src/Bridge.php @@ -123,6 +123,28 @@ public function mergeShared(array $context) return $context; } + /** + * Merges a context with the defined globals. + * + * @param array $context An array representing the context + * + * @return array The context merged with the globals + */ + public function mergeGlobals(array $context) + { + $context = parent::mergeGlobals($context); + + // we don't use array_merge as the context being generally + // bigger than globals, this code is faster. + foreach ($this->app['view']->getShared() as $key => $value) { + if (!array_key_exists($key, $context)) { + $context[$key] = $value; + } + } + + return $context; + } + /** * Normalize a view name. *