map = $this->arr($config_array); } /** * Get a config value * * @param array|string $key * @return mixed * @throws ConfigException */ public function get($key) { if (is_array($key)) { return $this->map->get_deep_key($key); } return $this->map->get($key); } /** * Remove a config value * * @param string|array $key * @return void */ public function delete($key) { if (is_array($key)) { $this->map->set_deep_key($key, NULL); } else { $pos =& $this->map->get($key); $pos = NULL; } } /** * Set a config value * * @param integer|string|array $key * @param mixed $value * @throws InvalidArgumentException * @return Config */ public function set($key, $value) { if (is_array($key)) { $this->map->set_deep_key($key, $value); } else if (is_scalar($key) && ! empty($key)) { $this->map->set($key, $value); } else { throw new InvalidArgumentException("Key must be integer, string, or array, and cannot be empty"); } return $this; } } // End of config.php