Size: a a a

2021 April 22

AL

Alexander Lozovsky in symfony
Ключевое мне кажется всё же не кол-во листенеров, а их взаимодействия. Если они друг от друга зависит это пиздец уже само по себе даже если их 5.
источник

ES

Evgeny Savich in symfony
а есть может где наброски?
источник

SP

Sergey Protko in symfony
тип того да, если листенеры независимы, если ты можешь прям из кода проследить как данные ходют то все становится проще.
источник

AK

Anton K. in symfony
вот допустим у меня TRANSACTION_PAYED эвент. офигенный же эфент, че вам не нравится? я открываю транзакцию, кидаю этот эвент, разные части моего приложения реагируют на него, выполняют что надо
источник

AL

Alexander Lozovsky in symfony
Я в целом за абстракции и против лапши. А до абсурда можно что угодно довести, с этим спорить не стану.
источник

SP

Sergey Protko in symfony
на тему того что основная сложность идет обычно от того что то как код записан и то как выполняется начинает различаться.

Это еще старичек Дейкстра писал в своем goto considered harmful
источник

AL

Alexander Lozovsky in symfony
Сделайте манипуляции с объектом без транзакций, а потом готовый объект вместе со всеми релейшенами запишите в базу в транзакции.
источник

SP

Sergey Protko in symfony
а мы не про ивенты говорим, мы про ситуации когда есть два листенера которые зависят от одного и того же ивента и это заставляет тебя приоритеты выставлять. Вот это рак. А ивенты это хорошо
источник

AL

Alexander Lozovsky in symfony
Ну открыть транзакцию и дальше дергать события - это уже рак, как по мне )
источник

AK

Anton K. in symfony
ну тогда я спокоен
источник

AK

Anton K. in symfony
лел. а как иначе? допустим, при оплате транзакции мы должны создать/обновить сразу несколько объектов: факт поступления денег, обновить табличку user с кешем баланса, поменять статус транзакции, создать запись в таблице receipt, чтобы соответствовать нормам закона
источник

SP

Sergey Protko in symfony
саги, компенсационные действия... но это сложно
источник

AK

Anton K. in symfony
где саги там напряги
источник

SP

Sergey Protko in symfony
ну тебя никто не просил в ивенты влазить)
источник

AK

Anton K. in symfony
я пока других вариантов не вижу. посмотрю, ху из сага
источник

AL

Alexander Lozovsky in symfony
👍

Мне только вместо сериалайзера больше нравится NormalizerInterface. Но это вкусовщина.

А CategoryDTO::createFromQueryArray и $handler->handle($dto) покажите?
источник

SP

Sergey Protko in symfony
точнее как, это не сложно просто нужна надежная инфраструктура. Эта инфраструктура пишется достаточно просто, но требует чуть других подходов
источник

AK

Anton K. in symfony
это уже куда-то в сторону микросервисов?
источник

SP

Sergey Protko in symfony
я б сказал structured monolith хотя бы
источник

AL

Alexander Lozovsky in symfony
Решений можно несколько придумать, но на события я бы смотреть не стал.
источник