Issues (480)

src/Request/Error/Error.php (1 issue)

1
<?php
2
/**
3
 *
4
 */
5
6
namespace Mvc5\Request\Error;
7
8
use Mvc5\Http\Request;
9
10
use const Mvc5\{ CONTROLLER, ERROR, NAME };
11
12
trait Error
13
{
14
    /**
15
     * @var mixed
16
     */
17
    protected $controller;
18
19
    /**
20
     * @var string
21
     */
22
    protected string $name;
23
24
    /**
25
     * @param string $name
26
     * @param mixed $controller
27
     */
28 3
    function __construct(string $name, $controller)
29
    {
30 3
        $this->controller = $controller;
31 3
        $this->name       = $name;
32 3
    }
33
34
    /**
35
     * @param Request $request
36
     * @return Request
37
     */
38 3
    protected function request(Request $request) : Request
39
    {
40 3
        return !$request[ERROR] ? $request :
0 ignored issues
show
Bug Best Practice introduced by
The expression return ! $request[Mvc5\E...5\NAME => $this->name)) could return the type Mvc5\Config\Model which includes types incompatible with the type-hinted return Mvc5\Http\Request. Consider adding an additional type-check to rule them out.
Loading history...
41 3
            $request->with([CONTROLLER => $this->controller, NAME => $this->name]);
42
    }
43
44
    /**
45
     * @param Request $request
46
     * @return Request
47
     */
48 2
    function __invoke(Request $request) : Request
49
    {
50 2
        return $this->request($request);
51
    }
52
}
53