protected function loadConfigFiles()
    {
        try {
            if (file_exists($this->cachePath('config.php'))) {
                $this->config = require $this->cachePath('config.php');
            } else {
                $dotenv = new \Dotenv\Dotenv($this->root);
                $dotenv->load();
                foreach (glob($this->root . '/config/*.php') as $file) {
                    $keyName = strtolower(str_replace(
                        [$this->root . '/config/', '.php'], '', $file
                    ));
                    $this->config[$keyName] = require $file;
                }
            }
        } catch (Exception $e) {
            die(printf(
                "Configuration information could not be retrieved properly.\nError Message: %s",
                $e->getMessage()
            ));
        }
    }