Ошибка после добавления dependency injection в форму

Главные вкладки

Аватар пользователя towi towi 14 июня 2022 в 22:18

Добавил dependency injection EntityTypeManager в форму вместо \Drupal::entityTypeManager()

<?php
use Drupal\Core\Entity\EntityTypeManager;
use 
Symfony\Component\DependencyInjection\ContainerInterface;

class 

MytListForm extends BaseListForm {

/
   * 

The EntityTypeManager.
   *
   * @var \
Drupal\Core\Entity\EntityTypeManager
   
*/
  protected 
$entityTypeManager;

  /
   * 

The constructor.
   *
   * @
param \Drupal\Core\Entity\EntityTypeManager $entity_type_manager
   
*   The EntityTypeManager.
   */
  public function 
__construct(EntityTypeManager $entity_type_manager) {
    
$this->entityTypeManager $entity_type_manager;
  }

  

/**
   * {@inheritdoc}
   */
  
public static function create(ContainerInterface $container) {
    return new static(
      
$container->get('entity_type.manager')
    );
  }

...........

?>

И сайт падает на нужной странице. В логах вот такая ошибка на данной странице:

Error: Call to a member function select() on null in Drupal\my_module\Form\BaseListForm->getSelectQuery() (line 124 of /var/www/html/drupal/modules/custom/my_module/src/Form/BaseListForm.php)

Убираю dependency injection и страница работает. Я неправильно сделал dependency injection?

Комментарии