Showing 54 of 54 total issues
Avoid assigning values to variables in if clauses and the like (line '104', column '70'). Open
protected static function getNpmConfig(Composer $composer, $key = null)
{
$vendorDir = $composer->getConfig()->get('vendor-dir');
$npm = [];
- Read upRead up
- Exclude checks
IfStatementAssignment
Since: 2.7.0
Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.
Example
class Foo
{
public function bar($flag)
{
if ($foo = 'bar') { // possible typo
// ...
}
if ($baz = 0) { // always false
// ...
}
}
}
Source http://phpmd.org/rules/cleancode.html#ifstatementassignment
Avoid unused parameters such as '$composer'. Open
public function activate(Composer $composer, IOInterface $io)
- Read upRead up
- Exclude checks
UnusedFormalParameter
Since: 0.2
Avoid passing parameters to methods or constructors and then not using those parameters.
Example
class Foo
{
private function bar($howdy)
{
// $howdy is not used
}
}
Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter
Avoid unused parameters such as '$composer'. Open
public function uninstall(Composer $composer, IOInterface $io)
- Read upRead up
- Exclude checks
UnusedFormalParameter
Since: 0.2
Avoid passing parameters to methods or constructors and then not using those parameters.
Example
class Foo
{
private function bar($howdy)
{
// $howdy is not used
}
}
Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter
Avoid assigning values to variables in if clauses and the like (line '109', column '76'). Open
protected static function getNpmConfig(Composer $composer, $key = null)
{
$vendorDir = $composer->getConfig()->get('vendor-dir');
$npm = [];
- Read upRead up
- Exclude checks
IfStatementAssignment
Since: 2.7.0
Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.
Example
class Foo
{
public function bar($flag)
{
if ($foo = 'bar') { // possible typo
// ...
}
if ($baz = 0) { // always false
// ...
}
}
}
Source http://phpmd.org/rules/cleancode.html#ifstatementassignment
The method askForInstall() has a Cyclomatic Complexity of 11. The configured cyclomatic complexity threshold is 10. Open
public static function askForInstall(Event $event, $npmConfirm, $npm)
{
$io = $event->getIO();
if (!$io->isInteractive()) {
- Read upRead up
- Exclude checks
CyclomaticComplexity
Since: 0.1
Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.
Example
// Cyclomatic Complexity = 11
class Foo {
1 public function example() {
2 if ($a == $b) {
3 if ($a1 == $b1) {
fiddle();
4 } elseif ($a2 == $b2) {
fiddle();
} else {
fiddle();
}
5 } elseif ($c == $d) {
6 while ($c == $d) {
fiddle();
}
7 } elseif ($e == $f) {
8 for ($n = 0; $n < $h; $n++) {
fiddle();
}
} else {
switch ($z) {
9 case 1:
fiddle();
break;
10 case 2:
fiddle();
break;
11 case 3:
fiddle();
break;
default:
fiddle();
break;
}
}
}
}
Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity
Line exceeds 120 characters; contains 137 characters Open
if ($dependency === '.' || $dependency === '..' || !is_dir($subDirectory = $directory.DIRECTORY_SEPARATOR.$dependency)) {
- Exclude checks
Line exceeds 120 characters; contains 127 characters Open
if ($namespace === '.' || $namespace === '..' || !is_dir($directory = $vendorDir.DIRECTORY_SEPARATOR.$namespace)) {
- Exclude checks
Parameter $event
has undeclared type \Composer\EventDispatcher\Event
Open
protected static function getPackagesList(Event $event, array $config, array $npm): array
- Exclude checks
Parameter $event
has undeclared type \Composer\EventDispatcher\Event
Open
public static function install(Event $event)
- Exclude checks
Call to method getComposer
from undeclared class \Composer\EventDispatcher\Event
Open
$composer = $event->getComposer();
- Exclude checks
Parameter $composer
has undeclared type \Composer\Composer
Open
public function uninstall(Composer $composer, IOInterface $io)
- Exclude checks
Call to method getIO
from undeclared class \Composer\EventDispatcher\Event
Open
$io = $event->getIO();
- Exclude checks
Parameter $io
has undeclared type \Composer\IO\IOInterface
Open
public function uninstall(Composer $composer, IOInterface $io)
- Exclude checks
Parameter $composer
has undeclared type \Composer\Composer
Open
protected static function getNpmConfig(Composer $composer, $key = null)
- Exclude checks
Call to method getConfig
from undeclared class \Composer\Composer
Open
$vendorDir = $composer->getConfig()->get('vendor-dir');
- Exclude checks
Call to method getIO
from undeclared class \Composer\EventDispatcher\Event
Open
$io = $event->getIO();
- Exclude checks
Call to method read
from undeclared class \Composer\Json\JsonFile
Open
$dependencyConfig = $json->read();
- Exclude checks
Parameter $event
has undeclared type \Composer\EventDispatcher\Event
Open
public function onAutoloadDump(Event $event)
- Exclude checks
Variable $directory
is undeclared Open
if ($dependency === '.' || $dependency === '..' || !is_dir($subDirectory = $directory.DIRECTORY_SEPARATOR.$dependency)) {
- Exclude checks
Argument 1 (haystack)
is ?string
but \strpos()
takes string
Open
if (strpos($result, 'npm ERR!') === false && static::isInstalledPackage($packageNames)) {
- Exclude checks