1 | <?php |
||
2 | |||
3 | /** |
||
4 | * Bluz Framework Component |
||
5 | * |
||
6 | * @copyright Bluz PHP Team |
||
7 | * @link https://github.com/bluzphp/framework |
||
8 | */ |
||
9 | |||
10 | declare(strict_types=1); |
||
11 | |||
12 | namespace Bluz\Proxy; |
||
13 | |||
14 | use Bluz\Common\Exception\ComponentException; |
||
15 | use Bluz\Controller\Controller; |
||
16 | use Bluz\Http\Exception\RedirectException; |
||
17 | use Bluz\Response\Response as Instance; |
||
18 | |||
19 | /** |
||
20 | * Proxy to Response |
||
21 | * |
||
22 | * Example of usage |
||
23 | * <code> |
||
24 | * use Bluz\Proxy\Response; |
||
25 | * |
||
26 | * Response::setStatusCode(304); |
||
27 | * Response::setHeader('Location', '/index/index'); |
||
28 | * </code> |
||
29 | * |
||
30 | * @package Bluz\Proxy |
||
31 | * @author Anton Shevchuk |
||
32 | * |
||
33 | * @method static Instance getInstance() |
||
34 | * |
||
35 | * @method static string getProtocolVersion() |
||
36 | * @see Instance::getProtocolVersion() |
||
37 | * |
||
38 | * @method static string getStatusCode() |
||
39 | * @see Instance::getStatusCode() |
||
40 | * @method static void setStatusCode($code) |
||
41 | * @see Instance::setStatusCode() |
||
42 | * |
||
43 | * @method static void setReasonPhrase($phrase) |
||
44 | * @see Instance::setReasonPhrase() |
||
45 | * @method static string getReasonPhrase() |
||
46 | * @see Instance::getReasonPhrase() |
||
47 | * |
||
48 | * @method static string getHeader($header) |
||
49 | * @see Instance::getHeader() |
||
50 | * @method static array getHeaderAsArray($header) |
||
51 | * @see Instance::getHeaderAsArray() |
||
52 | * @method static bool hasHeader($header) |
||
53 | * @see Instance::hasHeader() |
||
54 | * @method static void setHeader($header, $value) |
||
55 | * @see Instance::setHeader() |
||
56 | * @method static void addHeader($header, $value) |
||
57 | * @see Instance::addHeader() |
||
58 | * @method static void removeHeader($header) |
||
59 | * @see Instance::removeHeader() |
||
60 | * |
||
61 | * @method static array getHeaders() |
||
62 | * @see Instance::getHeaders() |
||
63 | * @method static void setHeaders(array $headers) |
||
64 | * @see Instance::setHeaders() |
||
65 | * @method static void addHeaders(array $headers) |
||
66 | * @see Instance::addHeaders() |
||
67 | * @method static void removeHeaders() |
||
68 | * @see Instance::removeHeaders() |
||
69 | * |
||
70 | * @method static void setBody($phrase) |
||
71 | * @see Instance::setBody() |
||
72 | * @method static Controller getBody() |
||
73 | * @see Instance::getBody() |
||
74 | * @method static void clearBody() |
||
75 | * @see Instance::clearBody() |
||
76 | * |
||
77 | * @method static void setCookie($name, $value = '', $expire = 0, $path = '/', $domain = '', $s = null, $h = null) |
||
78 | * @see Instance::setCookie() |
||
79 | * @method static array getCookie() |
||
80 | * @see Instance::getCookie() |
||
81 | * |
||
82 | * @method static string getType() |
||
83 | * @see Instance::getType() |
||
84 | * @method static void setType($type) |
||
85 | * @see Instance::setType() |
||
86 | * |
||
87 | * @method static void send() |
||
88 | * @see Instance::send() |
||
89 | */ |
||
90 | final class Response |
||
91 | { |
||
92 | use ProxyTrait; |
||
93 | |||
94 | /** |
||
95 | * Init instance |
||
96 | * |
||
97 | * @throws ComponentException |
||
98 | */ |
||
99 | private static function initInstance() |
||
0 ignored issues
–
show
|
|||
100 | { |
||
101 | throw new ComponentException("Class `Proxy\\Request` required external initialization"); |
||
102 | } |
||
103 | |||
104 | /** |
||
105 | * Redirect to URL |
||
106 | * |
||
107 | * @param string $url |
||
108 | * |
||
109 | * @return void |
||
110 | * @throws RedirectException |
||
111 | */ |
||
112 | 5 | public static function redirect(string $url): void |
|
113 | { |
||
114 | 5 | $redirect = new RedirectException(); |
|
115 | 5 | $redirect->setUrl($url); |
|
116 | 5 | throw $redirect; |
|
117 | } |
||
118 | |||
119 | /** |
||
120 | * Redirect to controller |
||
121 | * |
||
122 | * @param string $module |
||
123 | * @param string $controller |
||
124 | * @param array $params |
||
125 | * |
||
126 | * @return void |
||
127 | * @throws RedirectException |
||
128 | */ |
||
129 | 3 | public static function redirectTo(string $module, string $controller = 'index', array $params = []): void |
|
130 | { |
||
131 | 3 | $url = Router::getFullUrl($module, $controller, $params); |
|
132 | 3 | self::redirect($url); |
|
133 | } |
||
134 | |||
135 | /** |
||
136 | * Reload current page please, be careful to avoid loop of reload |
||
137 | * |
||
138 | * @return void |
||
139 | * @throws RedirectException |
||
140 | */ |
||
141 | 1 | public static function reload(): void |
|
142 | { |
||
143 | 1 | self::redirect((string) Request::getUri()); |
|
144 | } |
||
145 | } |
||
146 |
This check looks for private methods that have been defined, but are not used inside the class.