isWriteable) { $this->version = $param; } else { trigger_error('try to write closed config!'); } } public function setDatabase(array $array): void { if ($this->isWriteable) { DatabaseHandler::get()->init($array); } else { trigger_error('try to write closed config!'); } } public function setAPIAuth(array $array): void { if ($this->isWriteable) { $this->api = $array; } else { trigger_error('try to write closed config!'); } } public function setMail(array $array): void { if ($this->isWriteable) { $this->mail = $array; } else { trigger_error('try to write closed config!'); } } public function setRender(array $array): void { if ($this->isWriteable) { $this->renderer = $array; } else { trigger_error('try to write closed config!'); } } public function setMaintainMode(bool $mode): void { if ($this->isWriteable) { $this->maintenance = $mode; } else { trigger_error('try to write closed config!'); } } public function setDevMode(bool $mode): void { if ($this->isWriteable) { $this->devMode = $mode; } } public function getVersion(): float { return $this->version; } public function getApi(): array { return $this->api; } public function getMail(): array { return $this->mail; } public function getRenderer(): array { return $this->renderer; } public function isMaintenance(): bool { return $this->maintenance; } public function isDevMode(): bool { return $this->devMode; } /** * function to close the write mode... this make sure after the config is init no other tool can write to it! */ public function close(): void { $this->isWriteable = false; } }