Location::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 13
c 1
b 0
f 0
dl 0
loc 15
ccs 0
cts 14
cp 0
rs 9.8333
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace CdekSDK2\BaseTypes;
6
7
use JMS\Serializer\Annotation\Type;
8
9
/**
10
 * Class Location
11
 * @package CdekSDK2\BaseTypes
12
 */
13
class Location extends Base
14
{
15
    /**
16
     * Код локации из справочника СДЭК
17
     * @Type("int")
18
     * @var int
19
     */
20
    public $code;
21
22
    /**
23
     * Название района региона
24
     * @Type("string")
25
     * @var string
26
     */
27
    public $sub_region;
28
29
    /**
30
     * Код КЛАДР
31
     * @Type("string")
32
     * @var string
33
     * @deprecated
34
     */
35
    public $kladr_code;
36
    /**
37
     * Уникальный идентификатор ФИАС
38
     * @Type("string")
39
     * @var string
40
     */
41
    public $fias_guid;
42
43
    /**
44
     * Почтовый индекс
45
     * @Type("string")
46
     * @var string
47
     */
48
    public $postal_code;
49
50
    /**
51
     * Долгота
52
     * @Type("float")
53
     * @var float
54
     */
55
    public $longitude;
56
57
    /**
58
     * Широта
59
     * @Type("float")
60
     * @var float
61
     */
62
    public $latitude;
63
64
    /**
65
     * Код страны в формате  ISO_3166-1_alpha-2
66
     * @example RU, DE, TR
67
     * @Type("string")
68
     * @var string
69
     */
70
    public $country_code;
71
72
    /**
73
     * Название региона
74
     * @Type("string")
75
     * @var string
76
     */
77
    public $region;
78
79
    /**
80
     * Код региона (справочник СДЭК)
81
     * @Type("int")
82
     * @var int
83
     */
84
    public $region_code;
85
86
    /**
87
     * Название города
88
     * @Type("string")
89
     * @var string
90
     */
91
    public $city;
92
93
    /**
94
     * Строка адреса
95
     * @Type("string")
96
     * @var string
97
     */
98
    public $address;
99
100
    /**
101
     * Полный адрес с указанием страны, региона, города, и т.д.
102
     * @Type("string")
103
     * @var string
104
     */
105
    public $address_full;
106
107
    /**
108
     * Location constructor.
109
     * @param array $param
110
     */
111
    public function __construct(array $param = [])
112
    {
113
        parent::__construct($param);
114
        $this->rules = [
115
            'address' => 'required',
116
            'code' => 'numeric',
117
            'fias_guid' => 'alpha',
118
            'postal_code' => 'alpha_num',
119
            'longitude' => 'numeric',
120
            'latitude' => 'numeric',
121
            'country_code' => 'alpha:2',
122
            'region' => 'alpha',
123
            'sub_region' => 'alpha',
124
            'city' => 'alpha',
125
            'kladr_code' => 'alpha',
126
        ];
127
    }
128
}
129