path = $path; } /** * Determine if an item exists in the cache. * * @param string $key * @return bool */ public function has($key) { return ( ! is_null($this->get($key))); } /** * Retrieve an item from the cache driver. * * @param string $key * @return mixed */ protected function retrieve($key) { if ( ! F::exists($this->path.$key)) return null; if (time() >= substr($cache = F::get($this->path.$key), 0, 10)) { return $this->forget($key); } return unserialize(substr($cache, 10)); } /** * Write an item to the cache for a given number of minutes. * * @param string $key * @param mixed $value * @param int $minutes * @return void */ public function put($key, $value, $minutes) { F::put($this->path.$key, (time() + ($minutes * 60)).serialize($value)); } /** * Delete an item from the cache. * * @param string $key * @return void */ public function forget($key) { F::delete($this->path.$key); } }