Completed
Push — master ( 7c55dc...b3e8f1 )
by Beñat
06:48
created

PhoneType::requiresSQLCommentHint()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
/*
4
 * This file is part of the Shared Kernel library.
5
 *
6
 * Copyright (c) 2016-present LIN3S <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace LIN3S\SharedKernel\Infrastructure\Persistence\Doctrine\DBAL\Domain\Model\Phone\Types;
15
16
use Doctrine\DBAL\Platforms\AbstractPlatform;
17
use Doctrine\DBAL\Types\TextType;
18
use LIN3S\SharedKernel\Domain\Model\Phone\Phone;
19
20
/**
21
 * @author Beñat Espiña <[email protected]>
22
 */
23
class PhoneType extends TextType
24
{
25
    public function convertToDatabaseValue($value, AbstractPlatform $platform) : ?string
26
    {
27
        if ($value instanceof Phone) {
28
            return $value->phone();
29
        }
30
31
        return $value;
32
    }
33
34
    public function convertToPHPValue($value, AbstractPlatform $platform) : ?Phone
35
    {
36
        if (null === $value) {
37
            return;
38
        }
39
40
        return Phone::fromInternatinal($value);
0 ignored issues
show
Bug introduced by
The method fromInternatinal() does not exist on LIN3S\SharedKernel\Domain\Model\Phone\Phone. Did you maybe mean fromInternational()?

This check marks calls to methods that do not seem to exist on an object.

This is most likely the result of a method being renamed without all references to it being renamed likewise.

Loading history...
41
    }
42
43
    public function requiresSQLCommentHint(AbstractPlatform $platform) : bool
44
    {
45
        return true;
46
    }
47
48
    public function getName() : string
49
    {
50
        return 'phone';
51
    }
52
}
53