3 namespace Drupal\Core\Controller;
5 use Drupal\Core\Form\FormBuilderInterface;
6 use Drupal\Core\Routing\RouteMatchInterface;
7 use Drupal\Core\DependencyInjection\ClassResolverInterface;
10 * Wrapping controller for forms that serve as the main page body.
12 class HtmlFormController extends FormController {
17 * @var \Drupal\Core\DependencyInjection\ClassResolverInterface;
19 protected $classResolver;
22 * Constructs a new \Drupal\Core\Routing\Enhancer\FormEnhancer object.
24 * @param \Drupal\Core\Controller\ControllerResolverInterface $controller_resolver
25 * The controller resolver.
26 * @param \Drupal\Core\Form\FormBuilderInterface $form_builder
28 * @param \Drupal\Core\DependencyInjection\ClassResolverInterface $class_resolver
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;
39 protected function getFormArgument(RouteMatchInterface $route_match) {
40 return $route_match->getRouteObject()->getDefault('_form');
46 protected function getFormObject(RouteMatchInterface $route_match, $form_arg) {
47 return $this->classResolver->getInstanceFromDefinition($form_arg);