HtmlEntityFormController.php in Drupal 8
File
core/lib/Drupal/Core/Entity/HtmlEntityFormController.php
View source
<?php
namespace Drupal\Core\Entity;
use Drupal\Core\Controller\FormController;
use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait;
use Drupal\Core\Form\FormBuilderInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface;
class HtmlEntityFormController extends FormController {
use DeprecatedServicePropertyTrait;
protected $deprecatedProperties = [
'entityManager' => 'entity.manager',
];
protected $entityTypeManager;
public function __construct(ArgumentResolverInterface $argument_resolver, FormBuilderInterface $form_builder, EntityTypeManagerInterface $entity_type_manager) {
parent::__construct($argument_resolver, $form_builder);
if ($entity_type_manager instanceof EntityManagerInterface) {
@trigger_error('Passing the entity.manager service to HtmlEntityFormController::__construct() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Pass the new dependencies instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
$this->entityTypeManager = \Drupal::entityTypeManager();
}
else {
$this->entityTypeManager = $entity_type_manager;
}
}
protected function getFormArgument(RouteMatchInterface $route_match) {
return $route_match
->getRouteObject()
->getDefault('_entity_form');
}
protected function getFormObject(RouteMatchInterface $route_match, $form_arg) {
$form_arg .= '.default';
list($entity_type_id, $operation) = explode('.', $form_arg);
$form_object = $this->entityTypeManager
->getFormObject($entity_type_id, $operation);
$entity = $form_object
->getEntityFromRouteMatch($route_match, $entity_type_id);
$form_object
->setEntity($entity);
return $form_object;
}
}