public function __construct(InputInterface $input)
{
// Get default configuration
$this->default = new DefaultsDataProvider();
// Get configuration file path
$configurationFile = $input->getOption('file');
// Check if file exists before parsing content
if (file_exists($configurationFile)) {
// Parse YAML
$configuration = Yaml::parse(file_get_contents($configurationFile));
// Define configuration variables
$this->baseUrl = isset($configuration['baseUrl']) ? rtrim($configuration['baseUrl'], '/') : null;
$this->databaseConfiguration = isset($configuration['databaseConfiguration']) ? $configuration['databaseConfiguration'] : [];
$this->adminUser = isset($configuration['adminUser']) ? $configuration['adminUser'] : [];
$this->settings = isset($configuration['settings']) ? $configuration['settings'] : [];
} else {
throw new Exception('Configuration file does not exist.');
}
}