public static function getConfigurationByConfigFileAndCommandOptionsAndArguments($configFile, InputExtendedInterface $input)
    {
        if ($input->isOptionSet('config-file') === true) {
            $configuration = self::getConfigurationByConfigFile($configFile);
        } else {
            $configuration = new Configuration();
        }

        $configuration = self::mergeCommandOptionsIntoConfiguration($configuration, $input);
        $configuration = self::mergeCommandArgumentsIntoConfiguration($configuration, $input);

        return $configuration;
    }
public static function getConfigurationByConfigFileAndCommandOptionsAndArguments($configFile, InputExtendedInterface $input)
    {
        if ($input->isOptionSet('config-file') === true) {
            $configuration = self::getConfigurationByConfigFile($configFile);
        } else {
            $configuration = new Configuration();
        }

        $configuration = self::mergeCommandOptionsIntoConfiguration($configuration, $input);
        $configuration = self::mergeCommandArgumentsIntoConfiguration($configuration, $input);

        return $configuration;
    }
public static function getConfigurationByConfigFileAndCommandOptionsAndArguments ( $ configFile , InputExtendedInterface $ input ) { if ( $ input -> isOptionSet ( 'config-file' ) === true ) { $ configuration = self :: getConfigurationByConfigFile ( $ configFile ) ; } else { $ configuration = new Configuration ( ) ; } $ configuration = self :: mergeCommandOptionsIntoConfiguration ( $ configuration , $ input ) ; $ configuration = self :: mergeCommandArgumentsIntoConfiguration ( $ configuration , $ input ) ; return $ configuration ; }
Creates a configuration based on a YAML configuration file, command line options and command line arguments.
The command line options will be merged into the configuration.
The command line arguments will be merged into the configuration as well.

The command line options got a higher priority as the configuration file.
The command line arguments will be added to the configuration file and not overwritten.

@param string $configFile
@param InputExtendedInterface $input
@return Configuration
Creates a configuration based on a YAML configuration file command line options and command line arguments . The command line options will be merged into the configuration . The command line arguments will be merged into the configuration as well .