Serializer   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 10
dl 0
loc 38
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A serialize() 0 3 1
A __construct() 0 14 2
1
<?php
2
namespace Paranoia\Common\Serializer;
3
4
use Paranoia\Common\Serializer\Adapter\Xml;
5
// use Paranoia\Common\Serializer\Adapter\Json;
6
use Paranoia\Exception\InvalidArgumentException;
7
8
class Serializer
9
{
10
11
    const XML = 1;
12
    // const JSON = 2;
13
14
    private $serializer;
15
16
    /**
17
     * Serializer constructor.
18
     * @param $type
19
     * @throws InvalidArgumentException
20
     */
21
    public function __construct($type)
22
    {
23
        switch ($type) {
24
            case self::XML:
25
                $this->serializer = new Xml();
26
                break;
27
            /*
28
             * JSON Serializer yok
29
            case self::JSON:
30
                $this->serializer = new Json();
31
                break;
32
            */
33
            default:
34
                throw new InvalidArgumentException('Unknown serializer: ' . $type);
35
        }
36
    }
37
38
    /**
39
     * @param $data
40
     * @param array $options
41
     * @return string
42
     */
43
    public function serialize($data, $options = array())
44
    {
45
        return $this->serializer->serialize($data, $options);
46
    }
47
}
48