public function getResults($cacheKey) { if (self::canUseCurlMulti() && self::$_curlMultiHandle && count(self::$_curlHandles) > 0) { do { while (($execrun = curl_multi_exec(self::$_curlMultiHandle, $running)) == CURLM_CALL_MULTI_PERFORM) { } if ($execrun != CURLM_OK) { break; } while ($done = curl_multi_info_read(self::$_curlMultiHandle)) { $results = json_decode(curl_multi_getcontent($done['handle']), true); $cacheKeyForReturn = array_search($done['handle'], self::$_curlHandles, true); $this->_cacheSave($cacheKeyForReturn, $results, 60); curl_multi_remove_handle(self::$_curlMultiHandle, $done['handle']); } } while ($running); curl_multi_close(self::$_curlMultiHandle); self::$_curlMultiHandle = null; } elseif (!self::canUseCurlMulti()) { $results = @json_decode(self::$_curlHandles[$cacheKey]->getBody(), true); $this->_cacheSave($cacheKey, $results, 60); } if (!empty(self::$_cachedResults[$cacheKey])) { return self::$_cachedResults[$cacheKey]; } else { return false; } }