/**
* Executes the command
* @param Config $config
* @param Logger $logger
*/
public function execute(Config $config, Logger $logger)
{
$params = $this->parseArguments();
$backend = null;
if (!isset($params['backend'])) {
$params['backend'] = BaseBackend::getActiveBackend();
}
$className = 'Zephir\\Backends\\' . $params['backend'] . '\\Backend';
if (!class_exists($className)) {
throw new \InvalidArgumentException('Backend ' . $params['backend'] . ' does not exist');
}
$backend = new $className();
$compiler = new Compiler($config, $logger, $backend);
$command = $this->getCommand();
$compiler->{$command}($this);
}