7e2a35a470ad2e4e35355010ae5dca1c4d82f12b
[yaffs-website] / web / core / lib / Drupal / Core / Controller / ArgumentResolver / RawParameterValueResolver.php
1 <?php
2
3 namespace Drupal\Core\Controller\ArgumentResolver;
4
5 use Symfony\Component\HttpFoundation\Request;
6 use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface;
7 use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata;
8
9 /**
10  * Yields an argument's value from the request's _raw_variables attribute.
11  */
12 final class RawParameterValueResolver implements ArgumentValueResolverInterface {
13
14   /**
15    * {@inheritdoc}
16    */
17   public function supports(Request $request, ArgumentMetadata $argument) {
18     return !$argument->isVariadic() && $request->attributes->has('_raw_variables') && array_key_exists($argument->getName(), $request->attributes->get('_raw_variables'));
19   }
20
21   /**
22    * {@inheritdoc}
23    */
24   public function resolve(Request $request, ArgumentMetadata $argument) {
25     yield $request->attributes->get('_raw_variables')[$argument->getName()];
26   }
27
28 }