Skip to content

Commit aefa005

Browse files
committed
Create RequestInterface.php
1 parent 927dbd7 commit aefa005

File tree

1 file changed

+122
-0
lines changed

1 file changed

+122
-0
lines changed
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<?php
2+
/**
3+
* Интерфейс запроса.
4+
* @package evas-php\evas-http
5+
* @author Egor Vasyakin <[email protected]>
6+
*/
7+
namespace Evas\Http\Interfaces;
8+
9+
use Evas\Http\Interfaces\UriInterface;
10+
11+
interface RequestInterface
12+
{
13+
/**
14+
* Установка метода.
15+
* @param string
16+
* @return self
17+
*/
18+
public function withMethod(string $method);
19+
20+
/**
21+
* Установка uri.
22+
* @param UriInterface|string
23+
* @return self
24+
* @throws \InvalidArgumentException
25+
*/
26+
public function withUri($uri);
27+
28+
/**
29+
* Установка параметров POST.
30+
* @param array
31+
* @return self
32+
*/
33+
public function withPost(array $post);
34+
35+
/**
36+
* Установка параметров GET.
37+
* @param array
38+
* @return self
39+
*/
40+
public function withQuery(array $query);
41+
42+
/**
43+
* Установка ip пользователя.
44+
* @param string
45+
* @return self
46+
*/
47+
public function withUserIp(string $user_ip);
48+
49+
50+
51+
/**
52+
* Получение метода
53+
* @return string
54+
*/
55+
public function getMethod(): string;
56+
57+
/**
58+
* Получение uri.
59+
* @return UriInterface
60+
*/
61+
public function getUri(): UriInterface;
62+
63+
/**
64+
* Получение цели запроса.
65+
* @return string
66+
*/
67+
public function getRequestTarget(): string;
68+
69+
/**
70+
* Получение пути из uri.
71+
* @return string|null
72+
*/
73+
public function getPath(): ?string;
74+
75+
/**
76+
* Получение параметра/параметров POST.
77+
* @param string|array|null имя или массив имен
78+
* @return string|array значение или маппинг значений по именам
79+
*/
80+
public function getPost($name = null);
81+
82+
/**
83+
* Получение параметров POST списком.
84+
* @param array имена
85+
* @return array значения
86+
*/
87+
public function getPostList(array $names): array;
88+
89+
/**
90+
* Получение параметра/параметров GET.
91+
* @param string|array|null имя или массив имен
92+
* @return string|array значение или маппинг значений по именам
93+
*/
94+
public function getQuery($name = null);
95+
96+
/**
97+
* Получение параметров GET списком.
98+
* @param array имена
99+
* @return array значения
100+
*/
101+
public function getQueryList(array $names): array;
102+
103+
/**
104+
* Получение параметра/параметров по методу запроса.
105+
* @param string|array|null имя или массив имен
106+
* @return string|array значение или маппинг значений по именам
107+
*/
108+
public function getParams($name = null);
109+
110+
/**
111+
* Получение параметров списком по методу запроса.
112+
* @param array имена
113+
* @return array значения
114+
*/
115+
public function getParamsList(array $names): array;
116+
117+
/**
118+
* Получение ip пользователя.
119+
* @return string
120+
*/
121+
public function getUserIp(): ?string;
122+
}

0 commit comments

Comments
 (0)