config = $options; } /** * 设置配置项值 * @param string $offset * @param string|array|null|integer $value */ public function set($offset, $value) { $this->offsetSet($offset, $value); } /** * 获取配置项参数 * @param string|null $offset * @return array|string|null */ public function get($offset = null) { return $this->offsetGet($offset); } /** * 合并数据到对象 * @param array $data 需要合并的数据 * @param bool $append 是否追加数据 * @return array */ public function merge(array $data, $append = false) { if ($append) { return $this->config = array_merge($this->config, $data); } return array_merge($this->config, $data); } /** * 设置配置项值 * @param string $offset * @param string|array|null|integer $value */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { if (is_null($offset)) { $this->config[] = $value; } else { $this->config[$offset] = $value; } } /** * 判断配置Key是否存在 * @param string $offset * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { return isset($this->config[$offset]); } /** * 清理配置项 * @param string|null $offset */ #[\ReturnTypeWillChange] public function offsetUnset($offset = null) { if (is_null($offset)) { $this->config = []; } else { unset($this->config[$offset]); } } /** * 获取配置项参数 * @param string|null $offset * @return array|string|null */ #[\ReturnTypeWillChange] public function offsetGet($offset = null) { if (is_null($offset)) { return $this->config; } return isset($this->config[$offset]) ? $this->config[$offset] : null; } }