Composer\Satis\Console\Command\AddCommand::execute PHP Метод

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

protected execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output ) : integer
$input Symfony\Component\Console\Input\InputInterface The input instance
$output Symfony\Component\Console\Output\OutputInterface The output instance
Результат integer
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        /** @var FormatterHelper $formatter */
        $formatter = $this->getHelper('formatter');
        $configFile = $input->getArgument('file');
        $repositoryUrl = $input->getArgument('url');
        if (preg_match('{^https?://}i', $configFile)) {
            $output->writeln('<error>Unable to write to remote file ' . $configFile . '</error>');
            return 2;
        }
        $file = new JsonFile($configFile);
        if (!$file->exists()) {
            $output->writeln('<error>File not found: ' . $configFile . '</error>');
            return 1;
        }
        if (!$this->isRepositoryValid($repositoryUrl)) {
            $output->writeln('<error>Invalid Repository URL: ' . $repositoryUrl . '</error>');
            return 3;
        }
        $config = $file->read();
        if (!isset($config['repositories']) || !is_array($config['repositories'])) {
            $config['repositories'] = [];
        }
        foreach ($config['repositories'] as $repository) {
            if (isset($repository['url']) && $repository['url'] == $repositoryUrl) {
                $output->writeln('<error>Repository already added to the file</error>');
                return 4;
            }
        }
        $config['repositories'][] = ['type' => 'vcs', 'url' => $repositoryUrl];
        $file->write($config);
        $output->writeln(['', $formatter->formatBlock('Your configuration file successfully updated! It\'s time to rebuild your repository', 'bg=blue;fg=white', true), '']);
        return 0;
    }