Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Whatever;
- use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
- use Psr\Http\Message\ServerRequestInterface as PSR7Request;
- use Zend\Diactoros\ServerRequestFactory as DiactorosFactory;
- interface RequestContainerInterface
- {
- /**
- * @return SymfonyRequest
- */
- public function getSymfonyRequest();
- /**
- * @return PSR7Request
- */
- public function getPSR7Request();
- }
- class RequestContainer implements RequestContainerInterface
- {
- private $symfonyRequest;
- private $psr7Request;
- public function __construct(SymfonyRequest $symfonyRequest, PSR7Request $psr7Request)
- {
- $this->symfonyRequest = clone $symfonyRequest;
- $this->psr7Request = $psr7Request;
- }
- public static function fromGlobals()
- {
- $symfonyRequest = SymfonyRequest::createFromGlobals();
- $psr7Request = DiactorosFactory::fromGlobals();
- return new self::($symfonyRequest, $psr7Request);
- }
- public function getSymfonyRequest()
- {
- return clone $this->symfonyRequest;
- }
- public function getPSR7Request()
- {
- return $this->psr7Request;
- }
- }
- // Usage
- $requestContainer = RequestContainer::fromGlobals();
- $requestContainer->getSymfonyRequest();
- $requestContainer->getPSR7Request();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement