/** * Removes a stored option. * * @param string $name The name of the option to be removed. * @throws \InvalidArgumentException */ public function remove($name) { $name = trim($name); if (in_array($name, $this->protected)) { throw new \InvalidArgumentException(sprintf('"%s" is a protected option and may not be modified.', $name)); } if (!$this->connection->isConnected()) { throw new \RuntimeException('Database is not connected.'); } $this->initialize(true); if ($this->connection->delete($this->table, ['name' => $name])) { unset($this->options[$name]); $this->cache->delete($this->prefix . (isset($this->autoload[$name]) ? 'Autoload' : $name)); } }