Skip to content

Commit 591f4b6

Browse files
committed
Code cleanup
- Remove unused `use` statements - Change FQN to use statements - Make inline functions static - Add type hint for parameters - Add return types - Remove redundant docblocks and inspection comments - Add @throws annotations
1 parent a24e519 commit 591f4b6

File tree

12 files changed

+159
-222
lines changed

12 files changed

+159
-222
lines changed

bin/php-scanner

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
namespace Potherca\Scanner;
55

6-
use Potherca\Scanner\CommandLineInterface;
6+
use Potherca\Scanner\CommandLineInterface\Arguments;
7+
use Potherca\Scanner\CommandLineInterface\Command;
78
use Potherca\Scanner\Identifier\IdentifierOption;
89
use Potherca\Scanner\Identifier\InternalFunctionsIdentifier;
910
use Symfony\Component\Finder\Finder;
@@ -22,13 +23,13 @@ $defaultArguments = [
2223

2324
/*/ Create Objects /*/
2425
$finder = new Finder();
25-
$command = new CommandLineInterface\Command(basename(__FILE__), $argv);
26+
$command = new Command(basename(__FILE__), $argv);
2627

2728
/*/ Build arguments /*/
2829
$optArguments = getopt($command->getShortOptions(), $command->getLongOptions());
2930
$optArguments = array_merge($defaultArguments, $optArguments);
3031

31-
$arguments = new CommandLineInterface\Arguments($optArguments, $finder);
32+
$arguments = new Arguments($optArguments, $finder);
3233

3334
$output = $command->call($arguments);
3435

src/ArgumentInterface.php

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,15 @@
44

55
interface ArgumentInterface
66
{
7-
/** @return array */
8-
public function getBlacklist();
7+
public function getBlacklist(): array;
98

10-
/** @return array */
11-
public function getDirectories();
9+
public function getDirectories(): array;
1210

13-
/** @return array */
14-
public function getWhitelist();
11+
public function getWhitelist(): array;
1512

16-
/** @return int */
17-
public function getPhpVersion();
13+
public function getPhpVersion(): int;
1814

19-
/** @return array */
20-
public function getIdentifiers();
15+
public function getIdentifiers(): array;
2116
}
2217

2318
/*EOF*/

src/CommandLineInterface/Arguments.php

Lines changed: 36 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -37,56 +37,47 @@ class Arguments implements ArgumentInterface
3737
private $whitelist = [];
3838

3939
//////////////////////////// SETTERS AND GETTERS \\\\\\\\\\\\\\\\\\\\\\\\\\\
40-
/** @return array */
41-
public function getBlacklist()
40+
public function getBlacklist(): array
4241
{
4342
return $this->blacklist;
4443
}
4544

46-
/** @return array */
47-
public function getDirectories()
45+
public function getDirectories(): array
4846
{
4947
return $this->directories;
5048
}
5149

52-
/** @return int */
53-
public function getErrorCode()
50+
public function getErrorCode(): int
5451
{
5552
return $this->errorCode;
5653
}
5754

58-
/** @return string */
59-
final public function getErrorMessage()
55+
final public function getErrorMessage(): string
6056
{
6157
return $this->errorMessage;
6258
}
6359

64-
/** @return array */
65-
public function getIdentifiers()
60+
public function getIdentifiers(): array
6661
{
6762
return $this->identifiers;
6863
}
6964

70-
/** @return int */
71-
public function getPhpVersion()
65+
public function getPhpVersion(): int
7266
{
7367
return $this->phpVersion;
7468
}
7569

76-
/** @return array */
77-
public function getWhitelist()
70+
public function getWhitelist(): array
7871
{
7972
return $this->whitelist;
8073
}
8174

82-
/** @return bool */
83-
public function isHelp()
75+
public function isHelp(): bool
8476
{
8577
return $this->isHelp;
8678
}
8779

88-
/** @return bool */
89-
public function isVerbose()
80+
public function isVerbose(): bool
9081
{
9182
return $this->isVerbose;
9283
}
@@ -102,7 +93,7 @@ final public function parse()
10293
{
10394
$arguments = $this->arguments;
10495
// @TODO: Use Symfony Finder instead of hard-coded IO lookup
105-
$finder = $this->finder;
96+
// $finder = $this->finder;
10697

10798
$this->isVerbose = array_key_exists('verbose', $arguments);
10899

@@ -130,7 +121,7 @@ final public function parse()
130121
}
131122
}
132123

133-
final public function isValid()
124+
final public function isValid(): bool
134125
{
135126
return $this->errorCode === 0;
136127
}
@@ -142,48 +133,43 @@ final public function loadIdentifiers()
142133
}
143134

144135
////////////////////////////// UTILITY METHODS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\
145-
/**
146-
* @param string $key
147-
*/
148-
private function loadSpecificIdentifiers($key)
136+
private function loadSpecificIdentifiers(string $key)
149137
{
150138
$arguments = $this->arguments;
151139

152-
if ($this->isValid() === true) {
153-
if (array_key_exists($key, $arguments)) {
154-
$identifiers = $arguments[$key];
140+
if (
141+
$this->isValid() === true
142+
&& array_key_exists($key, $arguments)
143+
) {
144+
$identifiers = $arguments[$key];
155145

156-
if (is_scalar($identifiers)) {
157-
$identifiers = [$identifiers];
158-
}
146+
if (is_scalar($identifiers)) {
147+
$identifiers = [$identifiers];
148+
}
159149

160-
$identifierPaths = [];
150+
$identifierPaths = [];
161151

162-
array_walk($identifiers, function ($identifier) use (&$identifierPaths) {
163-
/* @NOTE: Remove any trailing slash */
164-
$identifier = rtrim($identifier, '/');
152+
array_walk($identifiers, function ($identifier) use (&$identifierPaths) {
153+
/* @NOTE: Remove any trailing slash */
154+
$identifier = rtrim($identifier, '/');
165155

166-
if (is_dir($identifier)) {
167-
$files = glob($identifier . '/*.php');
156+
if (is_dir($identifier)) {
157+
$files = glob($identifier . '/*.php');
168158

169-
$identifierPaths = array_merge($identifierPaths, $files);
170-
} elseif (is_file($identifier)) {
171-
$identifierPaths[] = $identifier;
172-
} else {
173-
$this->errorMessage = sprintf('Given identifier "%s" is not a file or directory', $identifier);
174-
$this->errorCode = self::ERROR_SUBJECT_NOT_FILE_OR_FOLDER;
175-
}
176-
});
159+
$identifierPaths = array_merge($identifierPaths, $files);
160+
} elseif (is_file($identifier)) {
161+
$identifierPaths[] = $identifier;
162+
} else {
163+
$this->errorMessage = sprintf('Given identifier "%s" is not a file or directory', $identifier);
164+
$this->errorCode = self::ERROR_SUBJECT_NOT_FILE_OR_FOLDER;
165+
}
166+
});
177167

178-
$identifierPaths = array_filter($identifierPaths);
179-
$this->identifiers = array_merge($this->identifiers, $identifierPaths);
180-
}
168+
$identifierPaths = array_filter($identifierPaths);
169+
$this->identifiers = array_merge($this->identifiers, $identifierPaths);
181170
}
182171
}
183172

184-
/**
185-
* @param $arguments
186-
*/
187173
private function loadDirectories($arguments)
188174
{
189175
if ($this->isValid() === true && array_key_exists('subject', $arguments)) {
@@ -194,7 +180,6 @@ private function loadDirectories($arguments)
194180
$subjects = [$subjects];
195181
}
196182

197-
/** @noinspection ForeachSourceInspection */
198183
foreach ($subjects as $subject) {
199184
if (is_dir($subject)) {
200185
$this->directories[] = $subject;
@@ -209,9 +194,6 @@ private function loadDirectories($arguments)
209194
}
210195
}
211196

212-
/**
213-
* @param $arguments
214-
*/
215197
private function loadBlackList($arguments)
216198
{
217199
if ($this->isValid() === true) {
@@ -228,9 +210,6 @@ private function loadBlackList($arguments)
228210
}
229211
}
230212

231-
/**
232-
* @param $arguments
233-
*/
234213
private function loadPhpVersion($arguments)
235214
{
236215
$key = IdentifierOption::PHP_VERSION;

0 commit comments

Comments
 (0)