Completed
Push — dev ( 65f7a2...84796b )
by Konstantin
02:56
created

Company   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 64
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 3
dl 64
loc 64
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A set() 4 4 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace linkprofit\AmoCRM\entities;
4
5
use linkprofit\AmoCRM\traits\ContactsLinkable;
6
use linkprofit\AmoCRM\traits\LeadsLinkable;
7
8
/**
9
 * Class Company
10
 * @package linkprofit\AmoCRM\entities
11
 */
12 View Code Duplication
class Company extends CustomizableEntity
13
{
14
    /**
15
     * @var integer id контакта, в которого будут вноситься изменения
16
     */
17
    public $id;
18
19
    /**
20
     * @var string Название компании
21
     */
22
    public $name;
23
24
    /**
25
     * @var string Дата и время создания компании
26
     */
27
    public $created_at;
28
29
    /**
30
     * @var string Дата и время изменения компании
31
     */
32
    public $updated_at;
33
34
    /**
35
     * @var integer id пользователя ответственного за компанию
36
     */
37
    public $responsible_user_id;
38
39
    /**
40
     * @var integer id пользователя создавшего компанию
41
     */
42
    public $created_by;
43
44
    /**
45
     * @var string Теги, привязываемые к компании. Задаются целостной строковой переменной, внутри строки перечисляются через запятую
46
     */
47
    public $tags;
48
49
    /**
50
     * @var string Покупатели, привязываемые к компании. Перечисляются через запятую.
51
     */
52
    public $customers_id;
53
54
    /**
55
     * @var array
56
     */
57
    protected $fieldList = [
58
        'id', 'name', 'created_at', 'updated_at',
59
        'responsible_user_id', 'created_by', 'tags',
60
        'leads_id', 'customers_id', 'contacts_id',
61
    ];
62
63
    use ContactsLinkable,
64
        LeadsLinkable {
65
        ContactsLinkable::mergeStringToField insteadof LeadsLinkable;
66
    }
67
68
    /**
69
     * @param $array
70
     */
71 3
    public function set($array)
72
    {
73 3
        $this->setFromArray($this->fieldList, $array);
74
    }
75
}