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

ActiveRecord::populateRecord()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 3

Importance

Changes 0
Metric Value
eloc 5
c 0
b 0
f 0
dl 0
loc 12
ccs 6
cts 6
cp 1
rs 10
cc 3
nc 3
nop 1
crap 3
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