public function execute($extName, $version = 'stable')
{
$logger = $this->getLogger();
$extensions = array();
if (Utils::startsWith($extName, '+')) {
$config = Config::getConfigParam('extensions');
$extName = ltrim($extName, '+');
if (isset($config[$extName])) {
foreach ($config[$extName] as $extensionName => $extOptions) {
$args = explode(' ', $extOptions);
$extensions[$extensionName] = $this->getExtData($args);
}
} else {
$logger->info('Extension set name not found. Have you configured it at the config.yaml file?');
}
} else {
$args = array_slice(func_get_args(), 1);
$extensions[$extName] = $this->getExtData($args);
}
if ($this->options->{'php-version'} !== null) {
$phpVersion = Utils::findLatestPhpVersion($this->options->{'php-version'});
Config::setPhpVersion($phpVersion);
}
foreach ($extensions as $extensionName => $extData) {
$extension = new Extension($extensionName, $logger);
$extension->install($extData->version, $extData->options);
}
Config::useSystemPhpVersion();
}