CanOnlyHydrateFromArrayException   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 17
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getType() 0 9 2
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Explicit Architecture POC,
7
 * which is created on top of the Symfony Demo application.
8
 *
9
 * (c) Herberto Graça <[email protected]>
10
 *
11
 * For the full copyright and license information, please view the LICENSE
12
 * file that was distributed with this source code.
13
 */
14
15
namespace Acme\App\Core\Port\Persistence\Exception;
16
17
use Acme\App\Core\SharedKernel\Exception\AppRuntimeException;
18
19
final class CanOnlyHydrateFromArrayException extends AppRuntimeException
20
{
21
    public function __construct($item)
22
    {
23
        parent::__construct('Can only hydrate to object from an array, \'' . $this->getType($item) . '\' given.');
24
    }
25
26
    private function getType($item): string
27
    {
28
        $type = \gettype($item);
29
        if ($type === 'object') {
30
            return \get_class($item);
31
        }
32
33
        return $type;
34
    }
35
}
36