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:----pTv9/F0hkkAujmpGGzzGHTwMQFXoWKB6K8b1xoDyXVydrELWFauMccvlM2KQ2sOD9dzb+xnCBj2+2y+UtS2qLgFOfiAvLn9GSNUSJcnuKwelpMDioRCiXLqkaJkd1umIgsqKMPFBll2boZwwAW+1ANnNRtOBZuEr8kOySU7ZEiJ16BXbbzDP8NCyRoPUCjBfArbSsOH33RQPWJJK32BjpF0gkGwJ7sjchzUQZP5gtJARLDU7bqWb/s3d8oS9vJHTmQgLuBH5rYMWXVuUsKiNjf8UVm6ZihKLmRlIaUkHQqz4tY9S2DSNDe+TpQOKinlN4RSISOLhCk+NHmpal8TxoEcFK0kpd+GZdzJLo5rl3S0PCdvxKZDfzieGDcKnZkbNE9BOC2niwtnGbMZOxIDiV9J/sym3QJn1sJ0xP10AVl4ZegkSFK/u9wUNZmz2X3xuzq5qohHldDz0W3RJR9GSffmymeb7CUzUZOiXK5fHzt4Cd/Fi3pq/fRkFBpv0LrAH9gAd9ilswjKbTw3pU8Vw9A3vB6rpAqGA01i9tu7ydGv0Z895o5EQnvwFAT+opMRLoUMH6IrqMkgjoXfEntcmTGAAElqdlZjwce4ioDOsbPF+Gv/X6AkCaZKx7ZLZjPDGljZXxaCeX35HBziM8PjwoEdr5P8iqu8zUy6+HiaAWqY=----ATTACHMENT:----NzM0MzE0NzA0Mjk3NzQ1NyAzMDQwNDQxMjUzNjYyODc3IDMxNzgzMDUyMDA5ODQyMDI=