Passed
Push — master ( 614fe6...dab8d6 )
by Sergei
02:58
created

ActiveRecord::loadDefaultValues()   A

Complexity

Conditions 5
Paths 3

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 5

Importance

Changes 1
Bugs 1 Features 0
Metric Value
cc 5
eloc 4
nc 3
nop 1
dl 0
loc 9
ccs 2
cts 2
cp 1
crap 5
rs 9.6111
c 1
b 1
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\ActiveRecord;
6
7
use ArrayAccess;
8
use IteratorAggregate;
9
use Yiisoft\ActiveRecord\Trait\ArrayableTrait;
10
use Yiisoft\ActiveRecord\Trait\ArrayAccessTrait;
11
use Yiisoft\ActiveRecord\Trait\ArrayIteratorTrait;
12
use Yiisoft\ActiveRecord\Trait\MagicPropertiesTrait;
13
use Yiisoft\ActiveRecord\Trait\MagicRelationsTrait;
14
use Yiisoft\ActiveRecord\Trait\TransactionalTrait;
15
use Yiisoft\Arrays\ArrayableInterface;
16
17
/**
18
 * Active Record class which implements {@see ActiveRecordInterface} and provides additional features like:
19
 *
20
 * - {@see ArrayableInterface}: to convert the object into an array;
21
 * - {@see ArrayAccess}: to access attributes as array elements;
22
 * - {@see IteratorAggregate}: to iterate over attributes;
23
 * - {@see TransactionalInterface}: to handle transactions;
24
 * - {@see MagicPropertiesTrait}: to access attributes as properties;
25
 * - {@see MagicRelationsTrait}: to access relation queries.
26
 *
27
 * @see BaseActiveRecord for more information.
28
 *
29
 * @template-implements ArrayAccess<string, mixed>
30
 * @template-implements IteratorAggregate<string, mixed>
31
 */
32
class ActiveRecord extends BaseActiveRecord implements
33
    ArrayableInterface,
34
    ArrayAccess,
35
    IteratorAggregate,
36
    TransactionalInterface
37
{
38
    use ArrayableTrait;
39
    use ArrayAccessTrait;
40
    use ArrayIteratorTrait;
41
    use MagicPropertiesTrait;
42
    use MagicRelationsTrait;
43
    use TransactionalTrait;
44
}
45