/** * Lookup information. * * @param string $key * * @return mixed */ protected function lookup($key) { if (!$this->cache['zoneIp']) { $data = ['z' => $this->zone->getZone()]; $ips = $this->client->zoneIps($this->data($data))['response']['ips']; foreach ($ips as $ip) { if ($ip['ip'] == $this->ip) { $this->cache['zoneIp'] = $ip; break; } } } return $this->cache['zoneIp'][$key]; }
/** * Clear the request cache. * * This method overrides the method in the parent class. * * @param string|string[] $methods * * @return $this */ public function clearCache($methods = null) { if ($methods === null || $methods === 'all') { $this->cache = []; } else { foreach ((array) $methods as $method) { $this->cache[$method] = []; // we may need to clear out the record cache in the zone model // to avoid unintuitive behaviour if (($method == 'recLoad' || !$method) && $method !== false) { $this->zone->clearRecordCache(); } } } return $this; }