Passed
Push — master ( b8c666...25f75c )
by Nikita
20:49 queued 09:26
created

SerializerProvider::boot()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 4
c 1
b 0
f 0
dl 0
loc 7
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Gameap\Providers;
4
5
use ECSPrefix20211002\Doctrine\Common\Annotations\AnnotationReader;
6
use Illuminate\Support\ServiceProvider;
7
use Symfony\Component\Serializer\Encoder\JsonEncoder;
8
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
9
use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
10
use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter;
11
use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
12
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
13
use Symfony\Component\Serializer\Serializer;
14
use Symfony\Component\Serializer\SerializerInterface;
15
16
class SerializerProvider extends ServiceProvider
17
{
18
    public function boot(): void
19
    {
20
        $this->app->bind(SerializerInterface::class, function () {
21
22
            return new Serializer(
23
                [new ObjectNormalizer(null, new CamelCaseToSnakeCaseNameConverter())],
24
                [new JsonEncoder()],
25
            );
26
        });
27
    }
28
}
29