From e78d1c455194b5794d69f5900f374c2d7d36c0e6 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Tue, 7 Nov 2017 21:33:43 +0100 Subject: [PATCH] Micro optim using explicit root namespaces --- .../EventDispatcher/EventDispatcher.php | 4 ++-- .../Component/HttpFoundation/HeaderBag.php | 18 +++++++++++++----- .../HttpFoundation/ResponseHeaderBag.php | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/Symfony/Component/EventDispatcher/EventDispatcher.php b/src/Symfony/Component/EventDispatcher/EventDispatcher.php index 4630b01cd8644..bc79a958da127 100644 --- a/src/Symfony/Component/EventDispatcher/EventDispatcher.php +++ b/src/Symfony/Component/EventDispatcher/EventDispatcher.php @@ -209,7 +209,7 @@ protected function doDispatch($listeners, $eventName, Event $event) if ($event->isPropagationStopped()) { break; } - call_user_func($listener, $event, $eventName, $this); + \call_user_func($listener, $event, $eventName, $this); } } @@ -225,7 +225,7 @@ private function sortListeners($eventName) foreach ($this->listeners[$eventName] as $priority => $listeners) { foreach ($listeners as $k => $listener) { - if (is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure) { + if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure) { $listener[0] = $listener[0](); $this->listeners[$eventName][$priority][$k] = $listener; } diff --git a/src/Symfony/Component/HttpFoundation/HeaderBag.php b/src/Symfony/Component/HttpFoundation/HeaderBag.php index e06713f39e148..a73f345a7f64d 100644 --- a/src/Symfony/Component/HttpFoundation/HeaderBag.php +++ b/src/Symfony/Component/HttpFoundation/HeaderBag.php @@ -121,7 +121,7 @@ public function get($key, $default = null, $first = true) } if ($first) { - return count($headers[$key]) ? $headers[$key][0] : $default; + return \count($headers[$key]) ? $headers[$key][0] : $default; } return $headers[$key]; @@ -138,12 +138,20 @@ public function set($key, $values, $replace = true) { $key = str_replace('_', '-', strtolower($key)); - $values = array_values((array) $values); + if (\is_array($values)) { + $values = array_values($values); - if (true === $replace || !isset($this->headers[$key])) { - $this->headers[$key] = $values; + if (true === $replace || !isset($this->headers[$key])) { + $this->headers[$key] = $values; + } else { + $this->headers[$key] = array_merge($this->headers[$key], $values); + } } else { - $this->headers[$key] = array_merge($this->headers[$key], $values); + if (true === $replace || !isset($this->headers[$key])) { + $this->headers[$key] = array($values); + } else { + $this->headers[$key][] = $values; + } } if ('cache-control' === $key) { diff --git a/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php b/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php index df995cf74edad..11a859326b047 100644 --- a/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php +++ b/src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php @@ -122,7 +122,7 @@ public function set($key, $values, $replace = true) parent::set($key, $values, $replace); // ensure the cache-control header has sensible defaults - if (in_array($uniqueKey, array('cache-control', 'etag', 'last-modified', 'expires'))) { + if (\in_array($uniqueKey, array('cache-control', 'etag', 'last-modified', 'expires'), true)) { $computed = $this->computeCacheControlValue(); $this->headers['cache-control'] = array($computed); $this->headerNames['cache-control'] = 'Cache-Control';