Passed
Pull Request — master (#320)
by Arman
02:47
created

DiException::circularDependency()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Quantum PHP Framework
5
 *
6
 * An open source software development framework for PHP
7
 *
8
 * @package Quantum
9
 * @author Arman Ag. <[email protected]>
10
 * @copyright Copyright (c) 2018 Softberg LLC (https://softberg.org)
11
 * @link http://quantum.softberg.org/
12
 * @since 2.9.8
13
 */
14
15
namespace Quantum\Di\Exceptions;
16
17
use Quantum\App\Exceptions\BaseException;
18
19
/**
20
 * Class DiException
21
 * @package Quantum\Di
22
 */
23
class DiException extends BaseException
24
{
25
    /**
26
     * @param string $name
27
     * @return DiException
28
     */
29
    public static function dependencyNotRegistered($name): DiException
30
    {
31
        return new self(t('exception.dependency_not_registered', $name), E_ERROR);
32
    }
33
34
    public static function dependencyAlreadyRegistered($name): DiException
35
    {
36
        return new self(t('exception.dependency_already_registered', $name), E_ERROR);
37
    }
38
39
    /**
40
     * @param $name
41
     * @return DiException
42
     */
43
    public static function dependencyNotInstantiable($name): DiException
44
    {
45
        return new self(t('exception.dependency_not_instantiable', $name), E_ERROR);
46
    }
47
48
    /**
49
     * @param string $name
50
     * @return DiException
51
     */
52
    public static function invalidAbstractDependency(string $name): DiException
53
    {
54
        return new self(t('exception.invalid_abstract_dependency', $name), E_ERROR);
55
    }
56
57
    /**
58
     * @param string $chain
59
     * @return DiException
60
     */
61
    public static function circularDependency(string $chain): DiException
62
    {
63
        return new self("Circular dependency detected: $chain", 0);
64
    }
65
}
66