You are here

public static function ForumController::create in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/forum/src/Controller/ForumController.php \Drupal\forum\Controller\ForumController::create()

Instantiates a new instance of this class.

This is a factory method that returns a new instance of this class. The factory should pass any needed dependencies into the constructor of this class, but not the container itself. Every call to this method must return a new instance of this class; that is, it may not implement a singleton.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container: The service container this instance should use.

Overrides ControllerBase::create

File

core/modules/forum/src/Controller/ForumController.php, line 127

Class

ForumController
Controller routines for forum routes.

Namespace

Drupal\forum\Controller

Code

public static function create(ContainerInterface $container) {

  /** @var \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager */
  $entity_type_manager = $container
    ->get('entity_type.manager');
  return new static($container
    ->get('forum_manager'), $entity_type_manager
    ->getStorage('taxonomy_vocabulary'), $entity_type_manager
    ->getStorage('taxonomy_term'), $container
    ->get('current_user'), $entity_type_manager
    ->getAccessControlHandler('node'), $container
    ->get('entity_field.manager')
    ->getFieldMap(), $entity_type_manager
    ->getStorage('node_type'), $container
    ->get('renderer'), $entity_type_manager
    ->getDefinition('node'), $entity_type_manager
    ->getDefinition('comment'));
}