HTTP Requests
NghiaNV 7/13/2021
# Description:
Get giá trị của HTTP Requests (input, file, cookie, headers)
Registering DI container tại RequestServiceProvider.
Các method:
interface RequestContract { public function post(): InputBag; public function query(): InputBag; public function cookie(): InputBag; public function files(): FileBag; public function server(): ServerBag; public function headers(): HeaderBag; }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Usage:
# Resolved dependency:
RequestContract
đã được binding vào DI Container nên có thể sử dụng request bằng các resolved từ Container.
class FooController {
protected RequestContract $request;
public function __construct(RequestContract $request)
{
$this->request = $request;
}
public function indexAction()
{
vd($this->request->query()->get('key'));
}
}
// url: /foo?foo=bar
// output: "bar"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Hoặc type-hinting trong controller method tương tự như Laravel:
class FooController {
public function indexAction(RequestContract $request)
{
vd($request->query()->get('key'));
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# Facade:
use Nin\Libs\Facades\Request;
class FooController {
public function indexAction()
{
vd(Request::query()->get('key'));
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Packagist: https://packagist.org/packages/nin/nin (opens new window)