SHOW:
|
|
- or go back to the newest paste.
1 | <?php | |
2 | ||
3 | namespace Whatever; | |
4 | ||
5 | use Symfony\Component\HttpFoundation\Request as SymfonyRequest; | |
6 | use Psr\Http\Message\ServerRequestInterface as PSR7Request; | |
7 | use Zend\Diactoros\ServerRequestFactory as DiactorosFactory; | |
8 | ||
9 | interface RequestContainerInterface | |
10 | { | |
11 | /** | |
12 | * @return SymfonyRequest | |
13 | */ | |
14 | public function getSymfonyRequest(); | |
15 | ||
16 | /** | |
17 | * @return PSR7Request | |
18 | */ | |
19 | public function getPSR7Request(); | |
20 | } | |
21 | ||
22 | class RequestContainer implements RequestContainerInterface | |
23 | { | |
24 | private $symfonyRequest; | |
25 | private $psr7Request; | |
26 | ||
27 | public function __construct(SymfonyRequest $symfonyRequest, PSR7Request $psr7Request) | |
28 | { | |
29 | $this->symfonyRequest = clone $symfonyRequest; | |
30 | $this->psr7Request = $psr7Request; | |
31 | } | |
32 | ||
33 | public static function fromGlobals() | |
34 | { | |
35 | $symfonyRequest = SymfonyRequest::createFromGlobals(); | |
36 | $psr7Request = DiactorosFactory::fromGlobals(); | |
37 | ||
38 | return new self::($symfonyRequest, $psr7Request); | |
39 | } | |
40 | ||
41 | public function getSymfonyRequest() | |
42 | { | |
43 | return clone $this->symfonyRequest; | |
44 | } | |
45 | ||
46 | public function getPSR7Request() | |
47 | { | |
48 | return $this->psr7Request; | |
49 | } | |
50 | } | |
51 | ||
52 | // Usage | |
53 | ||
54 | $requestContainer = RequestContainer::fromGlobals(); | |
55 | ||
56 | $requestContainer->getSymfonyRequest(); | |
57 | $requestContainer->getPSR7Request(); |