fe63038037f7ea5aed10814d2f1cc1c5f84c3e28
[yaffs-website] / web / core / lib / Drupal / Core / Controller / HtmlFormController.php
1 <?php
2
3 namespace Drupal\Core\Controller;
4
5 use Drupal\Core\Form\FormBuilderInterface;
6 use Drupal\Core\Routing\RouteMatchInterface;
7 use Drupal\Core\DependencyInjection\ClassResolverInterface;
8
9 /**
10  * Wrapping controller for forms that serve as the main page body.
11  */
12 class HtmlFormController extends FormController {
13
14   /**
15    * The class resolver.
16    *
17    * @var \Drupal\Core\DependencyInjection\ClassResolverInterface;
18    */
19   protected $classResolver;
20
21   /**
22    * Constructs a new \Drupal\Core\Routing\Enhancer\FormEnhancer object.
23    *
24    * @param \Drupal\Core\Controller\ControllerResolverInterface $controller_resolver
25    *   The controller resolver.
26    * @param \Drupal\Core\Form\FormBuilderInterface $form_builder
27    *   The form builder.
28    * @param \Drupal\Core\DependencyInjection\ClassResolverInterface $class_resolver
29    *   The class resolver.
30    */
31   public function __construct(ControllerResolverInterface $controller_resolver, FormBuilderInterface $form_builder, ClassResolverInterface $class_resolver) {
32     parent::__construct($controller_resolver, $form_builder);
33     $this->classResolver = $class_resolver;
34   }
35
36   /**
37    * {@inheritdoc}
38    */
39   protected function getFormArgument(RouteMatchInterface $route_match) {
40     return $route_match->getRouteObject()->getDefault('_form');
41   }
42
43   /**
44    * {@inheritdoc}
45    */
46   protected function getFormObject(RouteMatchInterface $route_match, $form_arg) {
47     return $this->classResolver->getInstanceFromDefinition($form_arg);
48   }
49
50 }