diff --git a/core/lib/Drupal/Core/Controller/FormController.php b/core/lib/Drupal/Core/Controller/FormController.php index 2b0c38b..dc191c0 100644 --- a/core/lib/Drupal/Core/Controller/FormController.php +++ b/core/lib/Drupal/Core/Controller/FormController.php @@ -57,8 +57,8 @@ public function __construct(ControllerResolverInterface $controller_resolver, Fo * The render array that results from invoking the controller. */ public function getContentResult(Request $request) { - $form_definition = $this->getFormDefinition($request); - $form_object = $this->getFormObject($request, $form_definition); + $form_arg = $this->getFormArgument($request); + $form_object = $this->getFormObject($request, $form_arg); // Add the form and form_state to trick the getArguments method of the // controller resolver. @@ -77,17 +77,24 @@ public function getContentResult(Request $request) { } /** - * Extracts the form definition string from a request. + * Extracts the form argument string from a request. * - * Depending on the type of form the definition string may be stored in a + * Depending on the type of form the argument string may be stored in a * different request attribute. * + * One example of a route definition is given below. + * @code + * defaults: + * _form: Drupal\example\Form\ExampleForm + * @endcode + * * @param \Symfony\Component\HttpFoundation\Request $request * The request object from which to extract a form definition string. + * * @return string * The form definition string. */ - abstract protected function getFormDefinition(Request $request); + abstract protected function getFormArgument(Request $request); /** * Returns the object used to build the form. diff --git a/core/lib/Drupal/Core/Controller/HtmlFormController.php b/core/lib/Drupal/Core/Controller/HtmlFormController.php index ecfa6a1..81a9b02 100644 --- a/core/lib/Drupal/Core/Controller/HtmlFormController.php +++ b/core/lib/Drupal/Core/Controller/HtmlFormController.php @@ -9,9 +9,7 @@ use Drupal\Core\Form\FormBuilderInterface; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\DependencyInjection\ClassResolverInterface; -use Drupal\Core\Controller\ControllerResolverInterface; /** * Wrapping controller for forms that serve as the main page body. @@ -19,13 +17,6 @@ class HtmlFormController extends FormController { /** - * The name of a class implementing FormInterface that defines a form. - * - * @var string - */ - protected $formClass; - - /** * The class resolver. * * @var \Drupal\Core\DependencyInjection\ClassResolverInterface; @@ -34,6 +25,13 @@ class HtmlFormController extends FormController { /** * Constructs a new \Drupal\Core\Routing\Enhancer\FormEnhancer object. + * + * @param \Drupal\Core\Controller\ControllerResolverInterface $controller_resolver + * The controller resolver. + * @param \Drupal\Core\Form\FormBuilderInterface $form_builder + * The form builder. + * @param \Drupal\Core\DependencyInjection\ClassResolverInterface $class_resolver + * The class resolver. */ public function __construct(ControllerResolverInterface $controller_resolver, FormBuilderInterface $form_builder, ClassResolverInterface $class_resolver) { parent::__construct($controller_resolver, $form_builder); @@ -43,7 +41,7 @@ public function __construct(ControllerResolverInterface $controller_resolver, Fo /** * @{inheritDoc} */ - protected function getFormDefinition(Request $request) { + protected function getFormArgument(Request $request) { return $request->attributes->get('_form'); } diff --git a/core/lib/Drupal/Core/Entity/HtmlEntityFormController.php b/core/lib/Drupal/Core/Entity/HtmlEntityFormController.php index 971efe0..bd659a9 100644 --- a/core/lib/Drupal/Core/Entity/HtmlEntityFormController.php +++ b/core/lib/Drupal/Core/Entity/HtmlEntityFormController.php @@ -42,7 +42,7 @@ public function __construct(ControllerResolverInterface $resolver, FormBuilderIn /** * @{inheritDoc} */ - protected function getFormDefinition(Request $request) { + protected function getFormArgument(Request $request) { return $request->attributes->get('_entity_form'); } diff --git a/core/lib/Drupal/Core/EventSubscriber/ContentControllerSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/ContentControllerSubscriber.php index faf471a..32f9565 100644 --- a/core/lib/Drupal/Core/EventSubscriber/ContentControllerSubscriber.php +++ b/core/lib/Drupal/Core/EventSubscriber/ContentControllerSubscriber.php @@ -54,7 +54,7 @@ public function onRequestDeriveFormat(GetResponseEvent $event) { } /** - * Sets the _controller on a request based on the request format. + * Sets the _controller on a request when a _form is defined. * * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $event * The event to process. @@ -62,8 +62,8 @@ public function onRequestDeriveFormat(GetResponseEvent $event) { public function onRequestDeriveFormWrapper(GetResponseEvent $event) { $request = $event->getRequest(); - if ($form = $request->attributes->get('_form')) { - $request->attributes->set('_content', 'controller.form:getContentResult'); + if ($request->attributes->has('_form')) { + $request->attributes->set('_controller', 'controller.form:getContentResult'); } }