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:----BOIpcaxGNZtK/9H0kbvq5kNMrZ7madtPFPIn9G2DB8FUirbPbJVnVsufBi6uYKABhNqEiBKnSxKB3Ni1HVCBgDTsaEmiNDO+OBNWxxpOA+wsi9csot9MWLREJGAz/DTLP1TzPN+6WSqfL+0qeQ7o9jpcA48Fh17mKn8WB8PgPyU1fN5PPL/0lSgNNwwn6+PWG/CUwHg4bhboWgvXWYRBuMLmyoS6+10kHbG5RjekMc+sHbdYQpeq2a4M2n9/joee/uQkfcDYXLCeiUKjbRK+FvzvZzLYS0za5MtXN6spl4pcp1bGOuhqPxgDMUc81OPGXJpQBNEIMd8hewafN9Y5CUo47mVfP6bZd/IP6yhCgm9GjY0TeLMUlGwk/USpdwCX93sv9eEbu0UqBlbELSGB+M8ed9vew4oNX9Jrpg1Iei613FE7D53QJFH5vV7HBTEkhq8rcxg18FCpuag0On0Vot98Ti/EiMkV8plth6NIBwiRhRZf42SwDagbQYQZ0iXFhkAHr5pd/nFpndvpGHh+2j38nfAnoTChKPRJ8tf/mUTrNoUQKp+31pULGILAtcG89ITElZLA++2rRRk6r3Gjhi/QaxjQ+US8jjHNl3+7uQaHlS13gHyW5RED+LDyHUv9nFJg5gIYuh7xtnO4nrLn1LeygabFADF9vBR0HB7FnOM=----ATTACHMENT:----NzE2MDUxNTM2NTg4MTY3MCA3MTUwNDU1MDk0ODY5MTY3IDg4OTc0MDM2MDY3MDEwMzE=