TwitterMedia::create()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 22

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 27
c 0
b 0
f 0
ccs 14
cts 14
cp 1
rs 8.8571
cc 1
eloc 22
nc 1
nop 9
crap 1

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
namespace Twitter\Object;
4
5
class TwitterMedia extends AbstractTwitterMedia
6
{
7
    /**
8
     * Constructor.
9
     */
10 9
    public function __construct()
11
    {
12 9
    }
13
14
    /**
15
     * Static constructor.
16
     *
17
     * @param int                  $id
18
     * @param string               $mediaUrl
19
     * @param string               $mediaUrlHttps
20
     * @param string               $url
21
     * @param string               $displayUrl
22
     * @param string               $expandedUrl
23
     * @param TwitterMediaSize[]   $sizes
24
     * @param string               $type
25
     * @param TwitterEntityIndices $indices
26
     *
27
     * @return TwitterMedia
28
     */
29 9
    public static function create(
30
        $id = null,
31
        $mediaUrl = null,
32
        $mediaUrlHttps = null,
33
        $url = null,
34
        $displayUrl = null,
35
        $expandedUrl = null,
36
        array $sizes = [],
37
        $type = null,
38
        TwitterEntityIndices $indices = null
39
    ) {
40 9
        $obj = new self();
41
42 9
        $obj->initTwitterMedia(
43 9
            $id,
44 9
            $mediaUrl,
45 9
            $mediaUrlHttps,
46 9
            $url,
47 9
            $displayUrl,
48 9
            $expandedUrl,
49 9
            $sizes,
50 9
            $type,
51 3
            $indices
52 6
        );
53
54 9
        return $obj;
55
    }
56
}
57