AbstractModel   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 1
dl 0
loc 28
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
B toArray() 0 14 5
1
<?php
2
namespace Nkey\Caribu\Model;
3
4
/**
5
 * Abstract entity model
6
 *
7
 * This class is part of Caribu package
8
 *
9
 * @author Maik Greubel <[email protected]>
10
 */
11
abstract class AbstractModel extends \Nkey\Caribu\Orm\Orm
12
{
13
14 14
    public function __construct()
15
    {
16
        // Needed
17 14
    }
18
19
    /**
20
     * Generate an array of all values of model
21
     *
22
     * @return array
23
     */
24 1
    public function toArray(): array
25
    {
26 1
        $values = array();
27 1
        $rfClass = new \ReflectionClass(get_class($this));
28 1
        foreach ($rfClass->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) {
29 1
            if ($method->getDeclaringClass() != $rfClass) {
30 1
                continue;
31
            }
32 1
            if (substr($method->name, 0, 3) == 'get' && $method->name != 'get') {
33 1
                $values[] = $method->invoke($this);
34
            }
35
        }
36 1
        return $values;
37
    }
38
}
39