Advertisement
Guest User

Untitled

a guest
Nov 19th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement