XmlLoader   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 44.44%

Importance

Changes 0
Metric Value
wmc 3
dl 0
loc 28
ccs 4
cts 9
cp 0.4444
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A asArray() 0 8 2
A save() 0 7 1
1
<?php
2
3
namespace Bavix\SDK\FileLoader;
4
5
use Bavix\XMLReader\XMLReader;
6
7
class XmlLoader implements DataInterface
8
{
9
10
    use DataTrait;
11
12
    /**
13
     * @inheritdoc
14
     */
15 1
    public function asArray()
16
    {
17 1
        if (!$this->data)
0 ignored issues
show
Bug Best Practice introduced by
The expression $this->data of type array is implicitly converted to a boolean; are you sure this is intended? If so, consider using empty($expr) instead to make it clear that you intend to check for an array without elements.

This check marks implicit conversions of arrays to boolean values in a comparison. While in PHP an empty array is considered to be equal (but not identical) to false, this is not always apparent.

Consider making the comparison explicit by using empty(..) or ! empty(...) instead.

Loading history...
18
        {
19 1
            $this->data = XMLReader::sharedInstance()->asArray($this->path);
20
        }
21
22 1
        return $this->data;
23
    }
24
25
    /**
26
     * @inheritdoc
27
     */
28
    public function save($data)
29
    {
30
        $data = $this->_fromArray($data);
31
32
        return (bool)\file_put_contents(
33
            $this->path,
34
            XMLReader::sharedInstance()->asXML($data)
35
        );
36
    }
37
38
}
39