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:----IijnNXGkd51djsqKba4zLU+yr8LM2FR7l2IYKAJ6Bb6AMkqiY4HOcBcPXuA2j0ZAb/u2qVEcCPFdIW5Yb2sviXAd3k6Bousf3PGDzpTOCq2rpYNJ1Eb76K85VPlxXNt8AQ+gxqj8aLvePE1wjKptczq/zcZR8w3A1AoNB/0rQB7hQJJM9SB/HEAblwRGO9bReNp4IuDolB0vbSKrJVnlFJqW9F0IwGMgbA3VtxluGfeCi85tXSg6q01VTiOmna1hgSPBoKLMdHGgn92+UzqIXbMjfKw9Eqt59zuFpg6qeUej9BRq+vcnCP3fSsKEQs0o+/r+rgleVIa8ogEzqXxjSsatCYi87llMCr8ZDJ1hAV4E2q9Z2n6HN9bIQoo3gWEKnB4CfZjvfODhrhe2ZbyhAgLvL6wFB82Q0A2GnSn+oKBGMM9Q4RdQ8c0t1UTmEwL8ueTUuJybE555YXrQQnNUYRtZ/RmtzGPZ3+F/DFv3qYTCcMW1ihcJLOVZYFD+OIJFFIUM8FsZdeJv+eR7TLFg398zMX0O7XVNh/sFiiJW6LphYPIXSJ4FnQzztSPN3ot/Idx5VIaeIVvzatiEKzvA5a1vZFDGP2is7MfD/ou1jM7j+pje0vz2j65BX6d+JYhXYJDXqZmYND40C1Veg7d7QISHkr+DkNYQDqQA0y57C48=----ATTACHMENT:----Njg3MzI3NjMwMDE1NzE1NiA4OTAyOTkyNDgzMjI1NjM0IDQ3NzgyODk5MTE3MDY3ODc=