Store::deleteValue()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 3 Features 0
Metric Value
c 4
b 3
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace PEIP\Data;
4
5
/*
6
 * This file is part of the PEIP package.
7
 * (c) 2009-2016 Timo Michna <timomichna/yahoo.de>
8
 *
9
 * For the full copyright and license information, please view the LICENSE
10
 * file that was distributed with this source code.
11
 */
12
13
/**
14
 * Store
15
 * A simple class to act as a store for arbritrary values.
16
 *
17
 * @author Timo Michna <timomichna/yahoo.de>
18
 * @extends \PEIP\Data\ArrayAccess
19
 * @implements ArrayAccess, \PEIP\INF\Data\Store
20
 */
21
class Store extends \PEIP\Data\ArrayAccess implements \PEIP\INF\Data\Store
22
{
23
    /**
24
     * Sets a value for a given key.
25
     *
26
     * @param mixed $key   the key to store value for
27
     * @param mixed $value the value to store
28
     *
29
     * @return
30
     */
31
    public function setValue($key, $value)
32
    {
33
        return $this->offsetSet($key, $value);
34
    }
35
36
    /**
37
     * returns the value for a given key.
38
     *
39
     * @param mixed $key the key to return value for
40
     *
41
     * @return mixed the value for the given key
42
     */
43
    public function getValue($key)
44
    {
45
        return $this->offsetGet($key, $value);
0 ignored issues
show
Bug introduced by
The variable $value does not exist. Did you forget to declare it?

This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug.

Loading history...
Unused Code introduced by
The call to Store::offsetGet() has too many arguments starting with $value.

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress.

In this case you can add the @ignore PhpDoc annotation to the duplicate definition and it will be ignored.

Loading history...
46
    }
47
48
    /**
49
     * Unsets the value for a given key.
50
     *
51
     * @param mixed $key the key to unset value for
52
     *
53
     * @return
54
     */
55
    public function deleteValue($key)
56
    {
57
        return $this->offsetUnset($key);
58
    }
59
60
    /**
61
     * Checks wether a value is stored for given key.
62
     *
63
     * @param mixed $key the key to look for a value
64
     *
65
     * @return bool wether a value is stored for the key
66
     */
67
    public function hasValue($key)
68
    {
69
        return $this->offsetExists($key);
70
    }
71
72
    /**
73
     * Sets all values for the store as key/value pair array.
74
     *
75
     * @param array $values key/value pairs to store
76
     *
77
     * @return
78
     */
79
    public function setValues(array $values)
80
    {
81
        $this->values = $values;
82
    }
83
84
    /**
85
     * returns all values for the store as key/value pairs.
86
     *
87
     * @return array stored key/value pairs
88
     */
89
    public function getValues()
90
    {
91
        return $this->values;
92
    }
93
94
    /**
95
     * Adds values for the store as key/value pair array.
96
     * Overwrites value for a key if allready has been set.
97
     *
98
     * @param $values
99
     *
100
     * @return
101
     */
102
    public function addValues(array $values)
103
    {
104
        array_merge($this->values, $values);
105
    }
106
}
107