[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/vendor/symfony/var-dumper/Dumper/ContextProvider/ -> RequestContextProvider.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <[email protected]>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\VarDumper\Dumper\ContextProvider;
  13  
  14  use Symfony\Component\HttpFoundation\RequestStack;
  15  use Symfony\Component\VarDumper\Caster\ReflectionCaster;
  16  use Symfony\Component\VarDumper\Cloner\VarCloner;
  17  
  18  /**
  19   * Tries to provide context from a request.
  20   *
  21   * @author Maxime Steinhausser <[email protected]>
  22   */
  23  final class RequestContextProvider implements ContextProviderInterface
  24  {
  25      private $requestStack;
  26      private $cloner;
  27  
  28      public function __construct(RequestStack $requestStack)
  29      {
  30          $this->requestStack = $requestStack;
  31          $this->cloner = new VarCloner();
  32          $this->cloner->setMaxItems(0);
  33          $this->cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO);
  34      }
  35  
  36      public function getContext(): ?array
  37      {
  38          if (null === $request = $this->requestStack->getCurrentRequest()) {
  39              return null;
  40          }
  41  
  42          $controller = $request->attributes->get('_controller');
  43  
  44          return [
  45              'uri' => $request->getUri(),
  46              'method' => $request->getMethod(),
  47              'controller' => $controller ? $this->cloner->cloneVar($controller) : $controller,
  48              'identifier' => spl_object_hash($request),
  49          ];
  50      }
  51  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer