| Conditions | 4 | 
| Paths | 3 | 
| Total Lines | 64 | 
| Code Lines | 47 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php | ||
| 51 | protected function execute(InputInterface $input, OutputInterface $output) | ||
| 52 |     { | ||
| 53 | /** @var Packagist $packagist */ | ||
| 54 |         $packagist = $this->getContainer()->get('wowapps.packagist.service'); | ||
| 55 |         $argument = strtolower($input->getArgument('package_name')); | ||
| 56 | $symfonyStyle = new SymfonyStyle($input, $output); | ||
| 57 | |||
| 58 | echo PHP_EOL; | ||
| 59 |         $output->writeln('<bg=green;options=bold;fg=white>                                               </>'); | ||
| 60 |         $output->writeln('<bg=green;options=bold;fg=white>         Symfony Packagist API Bundle          </>'); | ||
| 61 |         $output->writeln('<bg=green;options=bold;fg=white>                                               </>'); | ||
| 62 | echo PHP_EOL; | ||
| 63 | |||
| 64 |         if (empty($argument)) { | ||
| 65 | $symfonyStyle->error([ | ||
| 66 | PackagistException::E_EMPTY_PACKAGE_NAME, | ||
| 67 | PackagistException::E_EMPTY_PACKAGE_NAME_DESCRIPTION, | ||
| 68 | ]); | ||
| 69 | |||
| 70 | return; | ||
| 71 | } | ||
| 72 | |||
| 73 |         $symfonyStyle->title('Getting package ' . $argument); | ||
| 74 | |||
| 75 | $package = $packagist->getPackage($argument); | ||
| 76 | |||
| 77 |         $output->writeln('<options=bold;fg=yellow>Package name:</> ' . $package->getName()); | ||
| 78 |         $output->writeln('<options=bold;fg=yellow>Package description:</> ' . $package->getDescription()); | ||
| 79 |         $output->writeln('<options=bold;fg=yellow>Package version:</> ' . $package->getVersion()); | ||
| 80 |         $output->writeln('<options=bold;fg=yellow>Package time:</> ' . $package->getTime()); | ||
| 81 |         $output->writeln('<options=bold;fg=yellow>Package type:</> ' . $package->getType()); | ||
| 82 |         $output->writeln('<options=bold;fg=yellow>Package repository:</> ' . $package->getRepository()); | ||
| 83 | $output->writeln( | ||
| 84 | '<options=bold;fg=yellow>Package keywords:</> ' | ||
| 85 |             . implode(', ', $package->getVersions()->offsetGet($package->getVersion())->getKeywords()) | ||
| 86 | ); | ||
| 87 |         $output->writeln('<options=bold;fg=yellow>Package GitHub stat:</>'); | ||
| 88 | $symfonyStyle->listing([ | ||
| 89 | 'Stars: ' . $package->getGithub()->getStars(), | ||
| 90 | 'Watchers: ' . $package->getGithub()->getWatchers(), | ||
| 91 | 'Forks: ' . $package->getGithub()->getForks(), | ||
| 92 | 'Open issues: ' . $package->getGithub()->getOpenIssues(), | ||
| 93 | ]); | ||
| 94 |         $output->writeln('<options=bold;fg=yellow>Package language:</> ' . $package->getLanguage()); | ||
| 95 |         $output->writeln('<options=bold;fg=yellow>Package dependents:</> ' . $package->getDependents()); | ||
| 96 |         $output->writeln('<options=bold;fg=yellow>Package suggesters:</> ' . $package->getSuggesters()); | ||
| 97 |         $output->writeln('<options=bold;fg=yellow>Package downloads stat:</>'); | ||
| 98 | $symfonyStyle->listing([ | ||
| 99 | 'Total: ' . $package->getDownloads()->getTotal(), | ||
| 100 | 'Monthly: ' . $package->getDownloads()->getMonthly(), | ||
| 101 | 'Daily: ' . $package->getDownloads()->getDaily(), | ||
| 102 | ]); | ||
| 103 |         $output->writeln('<options=bold;fg=yellow>Package favers:</> ' . $package->getFavers()); | ||
| 104 |         $output->writeln('<options=bold;fg=yellow>Package authors:</>'); | ||
| 105 | $authors = []; | ||
| 106 |         if (!empty($package->getMaintainers())) { | ||
| 107 |             foreach ($package->getMaintainers() as $maintainer) { | ||
| 108 | $authors[] = $maintainer->getName(); | ||
| 109 | } | ||
| 110 | } | ||
| 111 | $symfonyStyle->listing($authors); | ||
| 112 | |||
| 113 | $this->viewVersionHistory($symfonyStyle, $package); | ||
| 114 | } | ||
| 115 | |||
| 174 |