Size: a a a

2020 September 23

Р

Руслан in symfony
Чтобы потом не получить "идея подтвердилась, на базе этого уг срочно допиливаем n тысяч фич"
источник

VS

Vlad Sobenko in symfony
Do Not Disturb🤚
Писать тесты наверное не буду, так как от меня потребуется только накидать рабочий черновик проекта, может выкинут проект и начнут с нуля если там правок получится больше. Поэтому спросил, а так все сделать в виде толстого контроллера то думаю это быстрее для рабочего MVP
Да может толстые контроллеры + хелперы(утилсы) = лучшее в твоей ситуации.
источник

D

Do Not Disturb🤚 in symfony
Павел Г.
ваша идея тоже вполне про command/handler . Тупо декомпозиция кода будет. Реквест- контроллер, логика - хэндлер, запросы  - репозиторий. Но попписать подольше надо будет чутка.
Это единственное что пришло в голову, а все эти cqrs, ddd я не осилю да и на данном этапе кажется и тесты не потребуются
источник

VS

Vlad Sobenko in symfony
Vlad Sobenko
Да может толстые контроллеры + хелперы(утилсы) = лучшее в твоей ситуации.
Потом появится команда, уже будете решать куда и как двигаться
источник

VS

Vyacheslav Startsev in symfony
Do Not Disturb🤚
Это единственное что пришло в голову, а все эти cqrs, ddd я не осилю да и на данном этапе кажется и тесты не потребуются
command/handler - это половина cqrs ))
источник

VS

Vyacheslav Startsev in symfony
бери symfony messenger и клепай команды и хэнлеры
источник

AD

Andrey Dembitskyi in symfony
источник

ПГ

Павел Г. in symfony
Do Not Disturb🤚
Это единственное что пришло в голову, а все эти cqrs, ddd я не осилю да и на данном этапе кажется и тесты не потребуются
Ну еще проще: это вместо хэндлеров Service (по 1 на каждую сущность, агрегат) использовать, а в качестве агрументов массив(это уже не очень, но зато избавляет от создания DTO/Command, но теряется автокоплит :( ). А уж потом можно и DTO накинуть. Так вы отделяете логику из контроллера + практически нет оверхеда. Гавнецо есть, но зато + скорость. Тем более у вас прототип, причем небольшой
источник

D

Do Not Disturb🤚 in symfony
Павел Г.
Ну еще проще: это вместо хэндлеров Service (по 1 на каждую сущность, агрегат) использовать, а в качестве агрументов массив(это уже не очень, но зато избавляет от создания DTO/Command, но теряется автокоплит :( ). А уж потом можно и DTO накинуть. Так вы отделяете логику из контроллера + практически нет оверхеда. Гавнецо есть, но зато + скорость. Тем более у вас прототип, причем небольшой
Массив зачем? Прошу простить просто не догоняю
источник

ПГ

Павел Г. in symfony
Do Not Disturb🤚
Массив зачем? Прошу простить просто не догоняю
вместо команд. Совсем гавнецо + теоряется автокомплит, наверное профита даже в скорости не будет и валидацию не навесить. Лучше наверное dto/command
источник

AD

Andrey Dembitskyi in symfony
Павел Г.
вместо команд. Совсем гавнецо + теоряется автокомплит, наверное профита даже в скорости не будет и валидацию не навесить. Лучше наверное dto/command
Можно попрощатся с автоматическим поиском handler по команде и морочится с DI конфигурацией
источник

ПГ

Павел Г. in symfony
Andrey Dembitskyi
Можно попрощатся с автоматическим поиском handler по команде и морочится с DI конфигурацией
Не понял. Зачем DI для массива?
источник

AD

Andrey Dembitskyi in symfony
Павел Г.
Не понял. Зачем DI для массива?
handler
источник

ПГ

Павел Г. in symfony
Зачем, зависимости подгружается в конструктор, а массив в метод.
источник

AD

Andrey Dembitskyi in symfony
Павел Г.
Зачем, зависимости подгружается в конструктор, а массив в метод.
interface HandlerInterface {
 public function handle(array $input): void
}

class OneController {
 private HandlerInterface $handler;
 //construct
 public function __invoke() {
   $this->handler->handle(['message' => 'hello world']);
 }
}

class TwoController {
 private HandlerInterface $handler;
 //construct
 public function __invoke() {
   $this->handler->handle(['email' => 'admin@my.google.cloud']);
 }
}

Как будет выглядеть DI конфиг?
источник

ПГ

Павел Г. in symfony
Зачем тянуть через интерфейс?
источник

D

Dmitry in symfony
чтобы yaml задрочить настройкой DI 🙂
источник

Р

Руслан in symfony
Павел Г.
Зачем тянуть через интерфейс?
dip головного мозга
источник

ПГ

Павел Г. in symfony
Так то и и командой надо было бы настраивать DI для такого. Массив тут вообще ничего не решает
источник

👤U

👤 User in symfony
Избегаю двунаправленных связей. Но вот есть продукт и его имаги. Как это правильно в кучу собрать и отдать твигу? Шоб product.images работало.
источник