CanOnlyHydrateFromArrayException::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
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