Esempio n. 1
0
 /**
  * @return Website[]
  * @throws \Exception
  */
 public function getWebsites()
 {
     $apiResourceModel = new Website();
     $params = array('offset' => 0, 'max_results' => 200, 'project' => $this->getId());
     $url = Api::$apiUrl . '/' . 'websites';
     $url .= '?' . http_build_query($params);
     $cachedResponse = $apiResourceModel->_getCachedRequest($url);
     if ($cachedResponse) {
         return $cachedResponse;
     }
     $objects = array();
     $apiResponse = $apiResourceModel->_request($url);
     if (!isset($apiResponse['list'])) {
         throw new \Exception("No 'list' found for URL ({$url}): " . print_r($apiResponse, 1));
     }
     foreach ($apiResponse['list'] as $resourceUrl) {
         $objects[] = (new Website())->load($resourceUrl);
     }
     // Cache the list for 1/10th of a day
     $apiResourceModel->_putCachedRequest($url, $objects, 0.1);
     return $objects;
 }