RecordKey::getMyKey()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
eloc 6
c 1
b 0
f 0
nc 4
nop 1
dl 0
loc 11
rs 10
1
<?php
2
/**
3
 * Record Key methods
4
 *
5
 * @author    Vítězslav Dvořák <[email protected]>
6
 * @copyright 2019 [email protected] (G)
7
 * 
8
 * @package EasePHP
9
 * 
10
 * PHP 7
11
 */
12
13
namespace Ease;
14
15
/**
16
 *
17
 * @author Vítězslav Dvořák <[email protected]>
18
 */
19
trait RecordKey
20
{
21
    /**
22
     * Key Column for Current Record
23
     *
24
     * @var string
25
     */
26
    public $keyColumn = 'id';
27
28
    /**
29
     * Obtain data holded by object
30
     *
31
     * @return array
32
     */
33
    public abstract function getData();
34
35
    /**
36
     * Set data filed value
37
     *
38
     * @param string $columnName název datové kolonky
39
     * @param mixed  $value      hodnota dat
40
     *
41
     * @return bool Success
42
     */
43
    public abstract function setDataValue($columnName, $value);
44
45
    /**
46
     * Gives you value of KEY Column
47
     *
48
     * @param array $data data z nichž se vrací hodnota klíče
49
     *
50
     * @return int key column value
51
     */
52
    public function getMyKey($data = null)
53
    {
54
        $key = null;
55
        if (is_null($data)) {
56
            $data = $this->getData();
57
        }
58
        if (isset($data) && isset($data[$this->keyColumn])) {
59
            $key = $data[$this->keyColumn];
60
        }
61
62
        return $key;
63
    }
64
65
    /**
66
     * Nastavuje hodnotu klíčového políčka pro SQL.
67
     *
68
     * @param int|string $myKeyValue
69
     *
70
     * @return bool
71
     */
72
    public function setMyKey($myKeyValue)
73
    {
74
        return $this->setDataValue($this->getKeyColumn(), $myKeyValue);
75
    }
76
77
    /**
78
     * Gives you Current KeyColumn Name
79
     *
80
     * @return string
81
     */
82
    public function getKeyColumn()
83
    {
84
        return $this->keyColumn;
85
    }
86
87
    /**
88
     * Nastaví jméno klíčového sloupečku v shopu.
89
     *
90
     * @param string $keyColumn
91
     */
92
    public function setkeyColumn($keyColumn)
93
    {
94
        $this->keyColumn = $keyColumn;
95
    }
96
}
97