Symfony 4 - 在 "App\Entity\User" 上声明的实体侦听器 "App\Entity\UserListener" 未找到

Symfony 4 - Entity Listener "App\Entity\UserListener" declared on "App\Entity\User" not found

我尝试创建一个实体侦听器以在我操作用户实体时触发。

这是我目前的配置:

service.yaml :

 user_listener:
      class: App\Doctrine\UserListener
      tags:
      - name: doctrine.orm.entity_listener
        entity: App\Entity\User

UserListener.php 在 src/Doctrine

<?php

namespace App\Doctrine;

class UserListener
{
    public function prePersist()
    {
        dump('test'); die;
    }
}

我的用户实体 class:

/**
 * @ORM\EntityListeners({"UserListener"})
 * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
 * @UniqueEntity(fields={"email"}, message="Il y à déjà un compte existant avec cet email.")
 */
class User implements UserInterface
{

我收到这个错误:

Entity Listener "App\Entity\UserListener" declared on "App\Entity\User" not found.

但我从未在任何地方定义 App\Entity\UserListener 因为 Userlistener 位于 App\Doctrine 命名空间下...

我认为这是因为您将用户监听器声明为: @ORM\EntityListeners({"UserListener"})

尝试添加完整的命名空间,例如 @ORM\EntityListeners({"App\Doctrine\UserListener"})