Config.php 778 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace app;
  3. use app\Exceptions\ConfigEntryNotFoundException;
  4. class Config {
  5. private array $configArray;
  6. public function __construct() {
  7. $this->configArray = parse_ini_file(APP_ROOT . "/config.ini", true);
  8. }
  9. public function GetByDotKey(string $dotKey): string|int|float|array
  10. {
  11. $explodedKey = explode(".", $dotKey);
  12. $currentTraversal = $this->configArray;
  13. $finalValue = null;
  14. foreach ($explodedKey as $key) {
  15. if (array_key_exists($key, $currentTraversal))
  16. $currentTraversal = $currentTraversal[$key];
  17. else
  18. throw new ConfigEntryNotFoundException($dotKey);
  19. $finalValue = $currentTraversal;
  20. }
  21. return $finalValue;
  22. }
  23. }