Symfony 4 - прослушиватель сущностей "App \ Entity \ UserListener", объявленный в "App \ Entity \ User", не найден - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь создать Entity Listener для запуска, когда я манипулирую сущностью User.

Вот мой конфиг на данный момент:

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;
    }
}

И мой класс сущности User:

/**
 * @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 ...

1 Ответ

1 голос
/ 21 мая 2019

Я думаю, это потому, что вы объявляете свой userlistener как: @ORM \ EntityListeners ({ "UserListener"})

Попробуйте добавить полное пространство имен, например @ORM \ EntityListeners ({ "App \ Учение \ UserListener"})

...