X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Flib%2FDrupal%2FCore%2FController%2FFormController.php;fp=web%2Fcore%2Flib%2FDrupal%2FCore%2FController%2FFormController.php;h=acbcaf6c67db85e824485ef22b2f854d8e44b065;hp=7af86df17909876777192a184742b9761e6a7d70;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/lib/Drupal/Core/Controller/FormController.php b/web/core/lib/Drupal/Core/Controller/FormController.php index 7af86df17..acbcaf6c6 100644 --- a/web/core/lib/Drupal/Core/Controller/FormController.php +++ b/web/core/lib/Drupal/Core/Controller/FormController.php @@ -7,6 +7,7 @@ use Drupal\Core\Form\FormBuilderInterface; use Drupal\Core\Form\FormState; use Drupal\Core\Routing\RouteMatchInterface; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface; /** * Common base class for form interstitial controllers. @@ -16,10 +17,24 @@ use Symfony\Component\HttpFoundation\Request; abstract class FormController { use DependencySerializationTrait; + /** + * The argument resolver. + * + * @var \Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface + */ + protected $argumentResolver; + /** * The controller resolver. * * @var \Drupal\Core\Controller\ControllerResolverInterface + * + * @deprecated + * Deprecated property that is only assigned when the 'controller_resolver' + * service is used as the first parameter to FormController::__construct(). + * + * @see https://www.drupal.org/node/2959408 + * @see \Drupal\Core\Controller\FormController::__construct() */ protected $controllerResolver; @@ -33,13 +48,17 @@ abstract class FormController { /** * Constructs a new \Drupal\Core\Controller\FormController object. * - * @param \Drupal\Core\Controller\ControllerResolverInterface $controller_resolver - * The controller resolver. + * @param \Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface $argument_resolver + * The argument resolver. * @param \Drupal\Core\Form\FormBuilderInterface $form_builder * The form builder. */ - public function __construct(ControllerResolverInterface $controller_resolver, FormBuilderInterface $form_builder) { - $this->controllerResolver = $controller_resolver; + public function __construct(ArgumentResolverInterface $argument_resolver, FormBuilderInterface $form_builder) { + $this->argumentResolver = $argument_resolver; + if ($argument_resolver instanceof ControllerResolverInterface) { + @trigger_error("Using the 'controller_resolver' service as the first argument is deprecated, use the 'http_kernel.controller.argument_resolver' instead. If your subclass requires the 'controller_resolver' service add it as an additional argument. See https://www.drupal.org/node/2959408.", E_USER_DEPRECATED); + $this->controllerResolver = $argument_resolver; + } $this->formBuilder = $form_builder; } @@ -63,7 +82,7 @@ abstract class FormController { $form_state = new FormState(); $request->attributes->set('form', []); $request->attributes->set('form_state', $form_state); - $args = $this->controllerResolver->getArguments($request, [$form_object, 'buildForm']); + $args = $this->argumentResolver->getArguments($request, [$form_object, 'buildForm']); $request->attributes->remove('form'); $request->attributes->remove('form_state');