r3pt1s / configlib
Dynamic config library
dev-main
2023-06-03 20:14 UTC
This package is not auto-updated.
Last update: 2024-10-27 13:36:49 UTC
README
Dynamic config library
Example
Config-Class
class TestConfig extends Configuration { /** @ignored Will not be saved */ private string $configName = "TEST"; private string $where = "Unknown"; private string $who = "Unknown"; private array $extraData = [ "age" => -1 ]; public function __construct() { parent::__construct(__DIR__ . DIRECTORY_SEPARATOR . "test.json", 1); } public function setWhere(string $where): void { $this->where = $where; } public function setWho(string $who): void { $this->who = $who; } public function setExtraData(array $extraData): void { $this->extraData = $extraData; } public function getWho(): string { return $this->who; } public function getConfigName(): string { return $this->configName; } public function getWhere(): string { return $this->where; } public function getExtraData(): array { return $this->extraData; } }
Main
$cfg = new TestConfig(); if (!$cfg->load()) $cfg->save(); // First save with default values var_dump($cfg->getWhere()); // Outputs: First time: Unknown | Second time: Germany var_dump($cfg->getWho()); // Outputs: First time: Unknown | Second time: r3pt1s var_dump($cfg->getExtraData()); // Outputs: First time: Unknown | Second time: 14 $cfg->setWhere("Germany"); // Set the value of $where to "Germany" $cfg->setWho("r3pt1s"); // Set the value of $who to "r3pt1s" $cfg->setExtraData(["age" => 14]); // Set the value of $extraData to ["age" => 14] $cfg->save(); // Saves the config with the current