type; } /** * {@inheritdoc} */ public function getStatus() : int { return $this->status; } /** * Get database name. * * @return string * * @since 1.0.0 */ public function getCache() : string { return (string) ($this->dbdata['db'] ?? ''); } /** * Get database host. * * @return string * * @since 1.0.0 */ public function getHost() : string { return $this->dbdata['host'] ?? ''; } /** * Get database port. * * @return int * * @since 1.0.0 */ public function getPort() : int { return (int) $this->dbdata['port'] ?? 0; } /** * Get table prefix. * * @return string * * @since 1.0.0 */ public function getPrefix() : string { return $this->prefix; } /** * Object destructor. * * Sets the database connection to null * * @since 1.0.0 */ public function __destruct() { $this->close(); } /** * Closes the chache. * * @since 1.0.0 */ public function close() : void { $this->con = null; $this->status = CacheStatus::CLOSED; } /** * Analyze caching data type. * * @param mixed $value Data to cache * * @return int Returns the cache type for a value * * @throws \InvalidArgumentException This exception is thrown if an unsupported datatype is used * * @since 1.0.0 */ protected function dataType($value) : int { if (\is_int($value)) { return CacheValueType::_INT; } elseif (\is_float($value)) { return CacheValueType::_FLOAT; } elseif (\is_string($value)) { return CacheValueType::_STRING; } elseif (\is_bool($value)) { return CacheValueType::_BOOL; } elseif (\is_array($value)) { return CacheValueType::_ARRAY; } elseif ($value === null) { return CacheValueType::_NULL; } elseif ($value instanceof \Serializable) { return CacheValueType::_SERIALIZABLE; } elseif ($value instanceof \JsonSerializable) { return CacheValueType::_JSONSERIALIZABLE; } throw new \InvalidArgumentException('Invalid value type.'); } }