CircularDependencyException   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
dl 0
loc 18
rs 10
c 1
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A forId() 0 5 1
A getExecutionStack() 0 3 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Habemus\Exception;
5
6
use Exception;
7
use Psr\Container\ContainerExceptionInterface;
8
9
class CircularDependencyException extends Exception implements ContainerExceptionInterface
10
{
11
    /**
12
     * Array with id of the executed processes until the error happens
13
     * @var array
14
     */
15
    protected $executionStack;
16
17
    public static function forId($id, array $executionStack): self
18
    {
19
        $error = new self(sprintf("Circular dependency detected for id (%s).", $id));
20
        $error->executionStack = $executionStack;
21
        return $error;
22
    }
23
24
    public function getExecutionStack(): array
25
    {
26
        return $this->executionStack;
27
    }
28
}
29