Completed
Pull Request — master (#39)
by Daniel
04:05
created

SerializerSymfonyServiceProvider::createSymfonySerializer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 15
c 1
b 0
f 1
dl 0
loc 24
rs 9.7666
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Jellyfish\SerializerSymfony;
6
7
use Jellyfish\Serializer\SerializerConstants;
8
use Jellyfish\SerializerSymfony\NameConverter\PropertyNameConverter;
9
use Pimple\Container;
10
use Pimple\ServiceProviderInterface;
11
use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor;
12
use Symfony\Component\Serializer\Encoder\JsonEncoder;
13
use Symfony\Component\Serializer\Encoder\XmlEncoder;
14
use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
15
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
16
use Symfony\Component\Serializer\Serializer as SymfonySerializer;
17
use Symfony\Component\Serializer\SerializerInterface as SymfonySerializerInterface;
18
19
class SerializerSymfonyServiceProvider implements ServiceProviderInterface
20
{
21
    /**
22
     * @param \Pimple\Container $pimple
23
     *
24
     * @return void
25
     */
26
    public function register(Container $pimple): void
27
    {
28
        $this->registerSerializerFacade($pimple);
29
    }
30
31
    /**
32
     * @param \Pimple\Container $container
33
     *
34
     * @return \Jellyfish\SerializerSymfony\SerializerSymfonyServiceProvider
35
     */
36
    protected function registerSerializerFacade(Container $container): SerializerSymfonyServiceProvider
37
    {
38
        $container->offsetSet(SerializerConstants::FACADE, static function () {
39
            return new SerializerSymfonyFacade(
40
                new SerializerSymfonyFactory()
41
            );
42
        });
43
44
        return $this;
45
    }
46
}
47