public function __construct()
 {
     if (!self::$_cache) {
         self::$_cache = new Edmunds\SDK\ApiCache(TEMP_FOLDER);
     }
     return parent::__construct(Config::inst()->get("EdmundsAPI", "api_key"), self::$_cache);
 }
 protected function getTypes()
 {
     $returnArray = array(0 => $this->pleaseSelectPhrase());
     $year = $this->getValue("Year");
     $makeNiceName = $this->getValue("Make");
     $modelNiceName = $this->getValue("Model");
     if ($year && $makeNiceName && $modelNiceName) {
         $params = array("view" => "full");
         $params["year"] = $year;
         $types = EdmundsAPI::get_data("/api/vehicle/v2/" . $makeNiceName . "/" . $modelNiceName, $params);
         foreach ($types->years as $loopYear) {
             if (intval($loopYear->year) == intval($year)) {
                 foreach ($loopYear->styles as $style) {
                     $returnArray[$style->id] = $style->name;
                 }
             }
         }
         asort($returnArray);
     }
     return $returnArray;
 }