Нуок, что мешает тебе добавить слушатель события, а не городить свой лисенер?

|
Шурік 2022-07-04 13:19:08
почему нельзя сделать это в рамках юзкейса/контроллера/сервиса
нахера именно в диспатчер?
olek0707 2022-07-04 13:19:13
Шурік 2022-07-04 13:18:34
а почему именно внутри ивент-лисенера?

потому что это некое центральное место. Как только сущность прочиталась из базы подтягиваются недостающие данные

Randll32 2022-07-04 13:19:18
внешние данные надо валидировать
olek0707 2022-07-04 13:19:32
Michel Angelo 2022-07-04 13:18:53
а валидацию где ты прикрутишь? Там же?

мне пока не нужна там валидация

Шурік 2022-07-04 13:19:52
olek0707 2022-07-04 13:19:13
потому что это некое центральное место. Как только сущность прочиталась из базы подтягиваются недостающие данные

а потом ты выведешь список из 50 сущностей и получишь 50 хттп запросов, общей длительностью в минуту

Шурік 2022-07-04 13:19:53
нуок)
Michel Angelo 2022-07-04 13:19:58
olek0707 2022-07-04 13:19:13
потому что это некое центральное место. Как только сущность прочиталась из базы подтягиваются недостающие данные

так погоди, тебе для чтения, или для персиста

olek0707 2022-07-04 13:20:47
Шурік 2022-07-04 13:19:08
почему нельзя сделать это в рамках юзкейса/контроллера/сервиса
нахера именно в диспатчер?

мне не нравится такой способ. Необходимо будет всякий раз делать манипуляции с сущностями.

Randll32 2022-07-04 13:21:04
olek0707 2022-07-04 13:19:32
мне пока не нужна там валидация

выдайте человеку инструментарий для «выстрела в колено» =)
я оф, уже много времени потратитл и так)

olek0707 2022-07-04 13:21:13
Шурік 2022-07-04 13:19:52
а потом ты выведешь список из 50 сущностей и получишь 50 хттп запросов, общей длительностью в минуту

ничего не попишешь. Иначе никак не сделать.

Шурік 2022-07-04 13:21:27
olek0707 2022-07-04 13:20:47
мне не нравится такой способ. Необходимо будет всякий раз делать манипуляции с сущностями.

нуок, что мешает тебе добавить слушатель события, а не городить свой лисенер?

Шурік 2022-07-04 13:21:34
ааа
Шурік 2022-07-04 13:22:06
вон оно как, я понял
этот лисенер, который App/EventListener — это не какой-то центральный, это именно для одного конкретного события
Шурік 2022-07-04 13:22:09
стрёмный нейминг
olek0707 2022-07-04 13:22:30
Шурік 2022-07-04 13:21:27
нуок, что мешает тебе добавить слушатель события, а не городить свой лисенер?

в каком смысле свой? я и хочу добавить. Мне нужно, чтобы по событию postLoad срабатывал мой метод, подтягивающий данные из апишки

olek0707 2022-07-04 13:22:46
Шурік 2022-07-04 13:22:09
стрёмный нейминг

да, я его уже переименовал

salonadoest 2022-07-04 13:23:00
Шурік 2022-07-04 13:22:06
вон оно как, я понял
этот лисенер, который App/EventListener — это не какой-то центральный, это именно для одного конкретного события

дефолтный неймспейс для листенеров уровня приложения же

olek0707 2022-07-04 13:23:25
Шурік 2022-07-04 13:22:06
вон оно как, я понял
этот лисенер, который App/EventListener — это не какой-то центральный, это именно для одного конкретного события

правильно

Michel Angelo 2022-07-04 13:28:49
$services = $configurator->services()
->defaults()
->autowire()
->autoconfigure();

$services->set(‘you.entity.listeners’)
->class(EntityListeners\YouListener::class)
->tag(‘doctrine.orm.entity_listener’, [‘event’ => ‘postLoad’, ‘lazy’ => true, ‘entity’ => YouEntity::class]);

а дальше что хочешь в конструктор прокидывай

salonadoest 2022-07-04 13:30:41
Michel Angelo 2022-07-04 13:28:49
$services = $configurator->services()
->defaults()
->autowire()
->autoconfigure();

$services->set(‘you.entity.listeners’)
->class(EntityListeners\YouListener::class)
->tag(‘doctrine.orm.entity_listener’, [‘event’ => ‘postLoad’, ‘lazy’ => true, ‘entity’ => YouEntity::class]);

а дальше что хочешь в конструктор прокидывай

Да я скинул ему уже ссылку на доку в контексте того, что ему нужно. Там и примеры есть

|