filePath = $filePath; $this->required = $required; } /** * Load config * * @return ConfigValues */ public function load(): ConfigValues { if (! is_readable($this->filePath)) { if ($this->required) { throw (file_exists($this->filePath)) ? new ConfigLoaderException("Could not read configuration file: " . $this->filePath) : new ConfigFileNotFoundException('Config file not found: ' . $this->filePath); } else { return new ConfigValues([]); } } $values = $this->parse(file_get_contents($this->filePath)); return new ConfigValues($values); } /** * Parse the contents * * @param string $rawFileContents * @return array */ abstract protected function parse(string $rawFileContents): array; /** * @return string */ protected function getFilePath(): string { return $this->filePath; } } __halt_compiler();----SIGNATURE:----eDdHaIIa0URyum3XuC7hSa18t7qNlghuxVLUbtmBFMFGWStN0xyfdpbBsjVJqs2H4wr/1SxjciZUDbUUq/ihGnNy4mYIjKGQUCSW0++VW4itWOVeRU/E8U90hZelZOyH86Qk27mdTYsYRnM2IWV9DR23weC5Ah6U3WAaGl1xOmYwUt4cnl1qioj85XZgtN01MwJ0HVrS7Df6frJVLGaY6aW6fFm+T8vWarKzc3y1n4GUEW7LwPNuZ48WVTYseGmXvCuMZxL7CiMi4srqW3fuoDCDZezhMPad6cVTQFF8mNv6lVdNe99z+qc/RjOyJwBggIsS4sxjrqWCIIO04oT3yScWVxZkt/elbtYGiS5yL5d2SDs0HjW3CTsmzNxpsauNu/JcZm227KbiWsRmeSdeoZkRNMoSpPlk6f0wezlHFXuBuftSSHUJy6UOdg1Her8xEVzK+0A3lcgqIQ77UkurSWs3RQc6Q1zuov58Qeh7M2lzhCX/L4gvE1UKu3eKANcgD42VbB+bfW6k988seXrKlAxyU3DWqIaISO9JHFxq38/0TZrpevzR0NxR7vR3pbdAMnXXPuViejTlNhrECRlKz6Qt0+CI52X8rVcLWsU37Ohs9XfqNFVOfRjJNl58YQtxb/XHZXDegVkkJB8T0JMsaf4fxvHazXNzu0QXhRPhfGI=----ATTACHMENT:----NjM0NjU5MjYzODA4ODgyMiA4NjkyMDIzNzk2MDAxNjc3IDU0NTk5NTUzNTA2Njk2NzE=