PaymentException::setPayment()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace Loevgaard\DandomainAltapayBundle\Exception;
4
5
use Loevgaard\DandomainAltapayBundle\Entity\Payment;
6
use Symfony\Component\HttpFoundation\Request;
7
8
class PaymentException extends Exception
9
{
10
    /**
11
     * @var Request
12
     */
13
    protected $request;
14
15
    /**
16
     * @var Payment
17
     */
18
    protected $payment;
19
20
    /**
21
     * @param string  $message
22
     * @param Request $request
23
     * @param Payment $payment
24
     *
25
     * @return PaymentException
26
     */
27
    public static function create(string $message, Request $request, Payment $payment): self
28
    {
29
        $e = new static($message);
30
        $e->setRequest($request);
31
        $e->setPayment($payment);
32
33
        return $e;
34
    }
35
36
    /**
37
     * @return Request
38
     */
39
    public function getRequest(): Request
40
    {
41
        return $this->request;
42
    }
43
44
    /**
45
     * @param Request $request
46
     *
47
     * @return PaymentException
48
     */
49
    public function setRequest(Request $request): self
0 ignored issues
show
Bug introduced by
You have injected the Request via parameter $request. This is generally not recommended as there might be multiple instances during a request cycle (f.e. when using sub-requests). Instead, it is recommended to inject the RequestStack and retrieve the current request each time you need it via getCurrentRequest().
Loading history...
50
    {
51
        $this->request = $request;
52
53
        return $this;
54
    }
55
56
    /**
57
     * @return Payment
58
     */
59
    public function getPayment(): Payment
60
    {
61
        return $this->payment;
62
    }
63
64
    /**
65
     * @param Payment $payment
66
     *
67
     * @return PaymentException
68
     */
69
    public function setPayment(Payment $payment): self
70
    {
71
        $this->payment = $payment;
72
73
        return $this;
74
    }
75
}
76