logger = $logger; } public function getMetrics($domain) { try { $response = Http::sendHttpRequest(self::URL . urlencode($domain), $timeout = 10, @$_SERVER['HTTP_USER_AGENT']); $xml = @simplexml_load_string($response); $value = $xml ? NumberFormatter::getInstance()->formatNumber((int)$xml->SD->POPULARITY['TEXT']) : null; } catch (\Exception $e) { $this->logger->warning('Error while getting Alexa SEO stats: {message}', array('message' => $e->getMessage())); $value = null; } $logo = SearchEngine::getInstance()->getLogoFromUrl('http://alexa.com'); $link = self::LINK . urlencode($domain); return array( new Metric('alexa', 'SEO_AlexaRank', $value, $logo, $link) ); } }