Package::fromArray()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
namespace Composed;
3
4
/**
5
 * @author Josh Di Fabio <[email protected]>
6
 */
7
class Package extends AbstractPackage
8
{
9
    public static function create(RootPackage $root, JsonObject $packageConfig) : self
10
    {
11
        if (null === $packageName = $packageConfig->get('name')) {
0 ignored issues
show
Documentation introduced by
'name' is of type string, but the function expects a array.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
12
            throw new \InvalidArgumentException('Package data must include package name');
13
        }
14
        $dirPath = $root->getVendorPath(str_replace('/', DIRECTORY_SEPARATOR, $packageConfig->get('name')));
0 ignored issues
show
Documentation introduced by
'name' is of type string, but the function expects a array.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
15
16
        return new static($root, $dirPath, $packageConfig);
17
    }
18
19
    public static function fromArray(RootPackage $root, array $packageConfig) : self
20
    {
21
        return self::create($root, JsonObject::fromArray($packageConfig));
22
    }
23
}
24