From 0591febf37fbdd8288edb9dc1882ec0b2db88fa8 Mon Sep 17 00:00:00 2001 From: JanPetterMG Date: Tue, 9 Aug 2016 16:29:46 +0200 Subject: [PATCH] Clear up the UserAgentParser->client --- src/Parser/Directives/UserAgentParser.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Parser/Directives/UserAgentParser.php b/src/Parser/Directives/UserAgentParser.php index 88691ab..6815453 100644 --- a/src/Parser/Directives/UserAgentParser.php +++ b/src/Parser/Directives/UserAgentParser.php @@ -243,8 +243,9 @@ public function export() */ public function client($product = self::USER_AGENT, $version = null, $statusCode = null) { - if (isset($this->client[$product . $version . $statusCode])) { - return $this->client[$product . $version . $statusCode]; + $infix = $product . $version . $statusCode; + if (isset($this->client[$infix])) { + return $this->client[$infix]; } $userAgentProduct = rtrim($product . '/' . $version, '/'); $userAgentMatch = $userAgentProduct; @@ -255,10 +256,9 @@ public function client($product = self::USER_AGENT, $version = null, $statusCode $userAgentMatch = self::USER_AGENT; } } - $client = new UserAgentClient($this->handler[$userAgentMatch], $this->base, $statusCode, $userAgentProduct); - $this->client = [ - $product . $version . $statusCode => $client - ]; - return $client; + // Clear cache + $this->client = []; + // Cache and return + return $this->client[$infix] = new UserAgentClient($this->handler[$userAgentMatch], $this->base, $statusCode, $userAgentProduct); } }