/** * {@inheritDoc} */ public function setDriver(DriverInterface $driver, $fallback = true) { // ping first if ($driver->ping()) { $this->driver = $driver; return; } // fallback if ($fallback) { // set to fallback driver $this->driver = $driver->getFallback(); // issue warning trigger_error(Message::get(Message::CACHE_FALLBACK_DRIVER, get_class($driver), get_class($this->driver)), E_USER_WARNING); } else { throw new InvalidArgumentException(Message::get(Message::CACHE_FAIL_DRIVER, get_class($driver)), Message::CACHE_FAIL_DRIVER); } }
/** * One end ping ok is ok * * {@inheritDoc} */ public function ping() { return $this->front->ping() || $this->back->ping(); }