Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\VarDumper\Caster; Chris@0: Chris@0: use Symfony\Component\HttpFoundation\Request; Chris@0: use Symfony\Component\VarDumper\Cloner\Stub; Chris@0: Chris@0: class SymfonyCaster Chris@0: { Chris@17: private static $requestGetters = [ Chris@0: 'pathInfo' => 'getPathInfo', Chris@0: 'requestUri' => 'getRequestUri', Chris@0: 'baseUrl' => 'getBaseUrl', Chris@0: 'basePath' => 'getBasePath', Chris@0: 'method' => 'getMethod', Chris@0: 'format' => 'getRequestFormat', Chris@17: ]; Chris@0: Chris@0: public static function castRequest(Request $request, array $a, Stub $stub, $isNested) Chris@0: { Chris@0: $clone = null; Chris@0: Chris@0: foreach (self::$requestGetters as $prop => $getter) { Chris@0: if (null === $a[Caster::PREFIX_PROTECTED.$prop]) { Chris@0: if (null === $clone) { Chris@0: $clone = clone $request; Chris@0: } Chris@0: $a[Caster::PREFIX_VIRTUAL.$prop] = $clone->{$getter}(); Chris@0: } Chris@0: } Chris@0: Chris@0: return $a; Chris@0: } Chris@0: }