XmlLoader::asArray()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 3
nc 2
nop 0
crap 2
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