Example #1
0
 public static function loadFromFile($file)
 {
     $yaml = Yaml::parse(file_get_contents($file));
     $configuration = new Configuration(ProviderManager::fromDefaults());
     if (isset($yaml['parameters'])) {
         $parameters = $yaml['parameters'];
     } else {
         $parameters = array();
     }
     if (isset($yaml['hosts'])) {
         foreach ($yaml['hosts'] as $host => $hostData) {
             if (!isset($hostData['provider'])) {
                 throw new InvalidHostException('No provider key set.', $host);
             }
             $providerId = $hostData['provider'];
             unset($hostData['provider']);
             $hostData = self::replacePlaceholders($hostData, $parameters);
             $configuration->addHost($host, $providerId, $hostData);
         }
     }
     return $configuration;
 }