public function listPlans(array $filters = [], bool $withAddons = true, string $addonType = null): array
    {
        $cacheKey = 'plans';
        $hit = $this->getFromCache($cacheKey);

        if (false === $hit) {
            $response = $this->sendRequest('GET', 'plans');

            $plans = $this->processResponse($response);
            $hit = $plans['plans'];

            $this->saveToCache($cacheKey, $hit);
        }

        $hit = $this->filterPlans($hit, $filters);

        if ($withAddons) {
            $hit = $this->getAddonsForPlan($hit, $addonType);
        }

        return $hit;
    }
public function listPlans(array $filters = [], bool $withAddons = true, string $addonType = null): array
    {
        $cacheKey = 'plans';
        $hit = $this->getFromCache($cacheKey);

        if (false === $hit) {
            $response = $this->sendRequest('GET', 'plans');

            $plans = $this->processResponse($response);
            $hit = $plans['plans'];

            $this->saveToCache($cacheKey, $hit);
        }

        $hit = $this->filterPlans($hit, $filters);

        if ($withAddons) {
            $hit = $this->getAddonsForPlan($hit, $addonType);
        }

        return $hit;
    }
public function listPlans ( array $ filters = [ ] , bool $ withAddons = true , string $ addonType = null ) : array { $ cacheKey = 'plans' ; $ hit = $ this -> getFromCache ( $ cacheKey ) ; if ( false === $ hit ) { $ response = $ this -> sendRequest ( 'GET' , 'plans' ) ; $ plans = $ this -> processResponse ( $ response ) ; $ hit = $ plans [ 'plans' ] ; $ this -> saveToCache ( $ cacheKey , $ hit ) ; } $ hit = $ this -> filterPlans ( $ hit , $ filters ) ; if ( $ withAddons ) { $ hit = $ this -> getAddonsForPlan ( $ hit , $ addonType ) ; } return $ hit ; }
Returns all plans.

@param array $filters associative array of filters

@throws \Exception

@return array
Returns all plans .