> */ public function fetch(int $page = 1): array { $results = $this->call( self::EXERCISE_URI, $this->pagination($page), ); $decoded = json_decode($results, true); return is_array($decoded) ? $decoded : []; } private function pagination(int $page = 1): array { return [ 'offset' => ($page - 1) * self::PER_PAGE, 'limit' => self::PER_PAGE, ]; } private function call( string $uri, array $params = [], ): string { $client = new Client(); $url = self::API_BASE_URL . $uri; return $client->request('GET', $url, [ 'query' => $params, ])->getBody()->getContents(); } }