Pagekit\Console\Commands\SelfupdateCommand::execute PHP Метод

execute() защищенный Метод

protected execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output )
$input Symfony\Component\Console\Input\InputInterface
$output Symfony\Component\Console\Output\OutputInterface
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        try {
            if (!$this->option('url')) {
                $output->write('Requesting Version...');
                $versions = $this->getVersions();
                $output->writeln('<info>done.</info>');
                $output->writeln('');
                $output->writeln('<comment>Latest Version: ' . $versions['latest']['version'] . '</comment> ');
                $output->writeln('');
                if (!$this->confirm('Update to Version ' . $versions['latest']['version'] . '? [y/n]')) {
                    return;
                }
                $output->writeln('');
                $url = $versions['latest']['url'];
            } else {
                $url = $this->option('url');
            }
            $tmpFile = tempnam($this->container['path.temp'], 'update_');
            $output->write('Downloading...');
            $this->download($url, $tmpFile);
            $output->writeln('<info>done.</info>');
            $updater = new SelfUpdater($output);
            $updater->update($tmpFile);
            $output->write('Migrating...');
            system(sprintf('php %s migrate', $_SERVER['PHP_SELF']));
        } catch (\Exception $e) {
            if (isset($tmpFile) && file_exists($tmpFile)) {
                unlink($tmpFile);
            }
            throw $e;
        }
    }