| Conditions | 7 |
| Paths | 9 |
| Total Lines | 52 |
| Lines | 29 |
| Ratio | 55.77 % |
| 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 |
||
| 75 | protected function execute(InputInterface $input, OutputInterface $output) |
||
| 76 | { |
||
| 77 | parent::execute($input, $output); |
||
| 78 | |||
| 79 | $session = $this->mustBeModelManagerSession($this->getSession()); |
||
| 80 | |||
| 81 | $this->updateOutput( |
||
| 82 | $output, |
||
| 83 | (new StructureGenerator( |
||
| 84 | $session, |
||
| 85 | $this->schema, |
||
|
|
|||
| 86 | $this->relation, |
||
| 87 | $this->getPathFile($input->getArgument('config-name'), $this->relation, null, 'AutoStructure', $input->getOption('psr4'), $input->getOption('path-pattern')), |
||
| 88 | $this->getNamespace($input->getArgument('config-name'), 'AutoStructure', $input->getOption('path-pattern')) |
||
| 89 | ))->generate(new ParameterHolder(array_merge($input->getArguments(), $input->getOptions()))) |
||
| 90 | ); |
||
| 91 | |||
| 92 | $pathFile = $this->getPathFile($input->getArgument('config-name'), $this->relation, 'Model', '', $input->getOption('psr4'), $input->getOption('path-pattern')); |
||
| 93 | View Code Duplication | if (!file_exists($pathFile) || $input->getOption('force')) { |
|
| 94 | $this->updateOutput( |
||
| 95 | $output, |
||
| 96 | (new ModelGenerator( |
||
| 97 | $session, |
||
| 98 | $this->schema, |
||
| 99 | $this->relation, |
||
| 100 | $pathFile, |
||
| 101 | $this->getNamespace($input->getArgument('config-name'), null, $input->getOption('path-pattern')) |
||
| 102 | ))->generate(new ParameterHolder(array_merge($input->getArguments(), $input->getOptions()))) |
||
| 103 | ); |
||
| 104 | } elseif ($output->isVerbose()) { |
||
| 105 | $this->writelnSkipFile($output, $pathFile, 'model'); |
||
| 106 | } |
||
| 107 | |||
| 108 | $pathFile = $this->getPathFile($input->getArgument('config-name'), $this->relation, '', '', $input->getOption('psr4'), $input->getOption('path-pattern')); |
||
| 109 | View Code Duplication | if (!file_exists($pathFile) || $input->getOption('force')) { |
|
| 110 | $this->updateOutput( |
||
| 111 | $output, |
||
| 112 | (new EntityGenerator( |
||
| 113 | $session, |
||
| 114 | $this->schema, |
||
| 115 | $this->relation, |
||
| 116 | $pathFile, |
||
| 117 | $this->getNamespace($input->getArgument('config-name'), null, $input->getOption('path-pattern')), |
||
| 118 | $this->flexible_container |
||
| 119 | ))->generate(new ParameterHolder(array_merge($input->getArguments(), $input->getOptions()))) |
||
| 120 | ); |
||
| 121 | } elseif ($output->isVerbose()) { |
||
| 122 | $this->writelnSkipFile($output, $pathFile, 'entity'); |
||
| 123 | } |
||
| 124 | |||
| 125 | return 0; |
||
| 126 | } |
||
| 127 | |||
| 151 |
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check:
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue.