EntityAccess::offsetSet()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
/*
4
 * This file is part of the PhpBotFramework.
5
 *
6
 * PhpBotFramework is free software: you can redistribute it and/or modify
7
 * it under the terms of the GNU Lesser General Public License as
8
 * published by the Free Software Foundation, version 3.
9
 *
10
 * PhpBotFramework is distributed in the hope that it will be useful, but
11
 * WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
 * Lesser General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU Lesser General Public License
16
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
 */
18
19
namespace PhpBotFramework\Entities;
20
21
trait EntityAccess
22
{
23
    /** \brief Contains the array passed __construct */
24
    private $container;
25
26 16
    public function __construct($data)
27
    {
28 16
        $this->container = $data;
29 16
    }
30
31
    public function offsetSet($offset, $value)
0 ignored issues
show
Unused Code introduced by
The parameter $offset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $value is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
32
    {
33
    }
34
35
    /** \brief Check that the given offset exists or not */
36 7
    public function offsetExists($offset)
37
    {
38 7
        return isset($this->container[$offset]);
39
    }
40
41
    public function offsetUnset($offset)
0 ignored issues
show
Unused Code introduced by
The parameter $offset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
42
    {
43
 /* Log a warning */
44
    }
45
46
    /**
47
     * \brief Get the given offset.
48
     * @param $offset The given offset.
49
     * @return Data relative to the offset.
50
     */
51 13
    public function offsetGet($offset)
52
    {
53
        // Get name of the method, the class should have. Like "getText"
54 13
        $method = Text::camelCase("get $offset");
55
56
        // If it exists, call it and return its return value
57 13
        if (method_exists($this, $method)) {
58 6
            return $this->{$method}();
59
        }
60
61
        // If not return the data from the array after checking it is set
62 9
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
63
    }
64
}
65