The Ant
когда у тебя чуть ли не в кажом классе будет стоять в названии Action
Юра
Создаёшь сервис аля Foo\User $user factory: SomeClass
Юра
И просто инджектить сразу юзера
Павел
Юра
Потребителю юзера не надо даже знать как он делается
The Ant
С суффиксом?
нет. зачем он?
Павел
нет. зачем он?
ну напипиши плиз, вот у тебя есть CreateUser, как Дто называтся для этого инвок класса?
Пилот
когда у тебя чуть ли не в кажом классе будет стоять в названии Action
так ты разделяешь CreateUserCommand от CreateUserHandler. если бы не было команды например - можно опустить хендлер суффикс
The Ant
я ж не называю ентити доктрины UserEntity, и ты врятле называешь. Так почему дто должен иметь такие привелегии?
Пилот
Павел
@theantt тут уже двух человек интересует как ты дто отделаешь без суффикса ?
Павел
Вот есть CreateUser (хэндлер), какое у него дто?
Юра
Для дто надо суффикс? Я просто фигачил )
Павел
Для дто надо суффикс? Я просто фигачил )
Не оябзательно, просто интересно как у муравья
The Ant
Вот есть CreateUser (хэндлер), какое у него дто?
спиздел насчет сущиствительного :D
Пилот
или UserPayload
Юра
Правда алиасы прийдется херачить
Павел
можно CreatedUser
Ну это скорее output
Павел
или UserPayload
А тут суффикс PayLoad
The Ant
так и называется CreateUser, а хендрер к нему CreateUserHandler 😄
Павел
Расходимся, муравей всех наипал)
Пилот
А тут суффикс PayLoad
ага) но я чет так и не определился за дтошки универсальный подход пока, чтоб без суффикса нормально всегда было. UserDto звучит слишком технически как показалось. Payload как то поестественнее)
The Ant
Бля... ну мне норм, я понимаю 😂
Павел
Бля... ну мне норм, я понимаю 😂
Удобнее рядом держать, не бегать по коду, но это уже вкусофщина
Павел
вот положил дтошку в папку data, просто и понятно, там данные,т.е. дто
Ну это не та дтошка, мы ваяснили что у тебя все же хэндлер существительное, а дто - глагол.
Пилот
вот положил дтошку в папку data, просто и понятно, там данные,т.е. дто
ну я тоже думал скрывать в неймспейсе назначение дтошки типа Dto/User.php для CreateUserHandler или Payload/User.php
The Ant
Удобнее рядом держать, не бегать по коду, но это уже вкусофщина
в 6.1 сделали удобно, можно и рядом положить да. через атрибуты указать что есть хендлер, что есть команда. До этого костыли какие-то были, чтобы каждый класс не конфигурировать гдето в конфигах
Павел
Это вообще не относится к симфони
The Ant
в смысле не относится? я работаю с симфой, и мне надо именно в симфе массово регистрировать команды
Пилот
и cohesion/coherence или как там)
Пилот
типа чтоб в одном папке/неймспейсе рилейтед классы лежали
The Ant
если симфа не предоставляет вменяемого инструмента, для массовой регистрации команд, я чо сделаю то?
Пилот
как например вот
Пилот
если какой то эксепшен будет UseCase-related то он полетит в /CreateUser/
Пилот
если эксепшен в целом модуль-рилейтед, то в /Exception
Павел
Или у тебя опять загон, что лишнее улеатает в контейнер и ты таким образом граничишь?
Павел
это костыль )
Всмысле костыль....
Павел
Там роутинг настраивается и прочее
Павел
Или у тебя все летит в одну очередь?
Павел
Ну ок добавили, атрибут, прикольный сахарок
The Ant
Сейчас вот такой атрибут добавили, и можно положить куда угодно. А раньше надо было писать какую-то хрень с **/MesageHandler/, либо, как альтернативу заводить отдельные интерфейсы для шин
The Ant
я решил не заводить отдельные интерфейсы, потому что сними путаница постоянно (забываешь какой куда). И делал через звездочки
The Ant
Ну т.е. до 6.1 все гавно, ясно понятно.
ну не говно, но не удобно пиздец
Павел
ну не говно, но не удобно пиздец
Т.е. название транспорта ты не забываешь, и пишешь ручками, а интрфейс с автокомплитом ты забывал. Ясно-понятно
The Ant
да, потому что у месенжера свой интерфейс, а ты еще докидываешь своих, в итоге получается надо помнить 4 штуки
The Ant
на кой оно? голова не резиновая
The Ant
**/MesageHandler/ вот это
Павел
**/MesageHandler/ вот это
Что вот это? Я вообще хз что это
The Ant
иди доку почитай )
The Ant
массовая регистрация хендлеров
Павел
Симфони вообще вроде не отличалась привязкой к директориям. Все по тегам, которые привязываютс к интерфейсам.
The Ant
ну в старых версиях там можно было в сервис ямл указать через директории, а не интерфейсы
The Ant
да и честно говоря не вижу смысла класть команды в юзкейсы
Павел
ну в старых версиях там можно было в сервис ямл указать через директории, а не интерфейсы
Хз, я с 4.4 сижу на мессенджере, первый раз такое слышу. Дока по 4.4. тоже молчит
Павел
да и честно говоря не вижу смысла класть команды в юзкейсы
У юзкейса есть дто, имеется ввиду класть рядом хэндлер и его дтошку. И это вообще не промессенджер
Павел
Чтобы когда работаешь с хэндлером, не бегать по разным папкам к его дтошке. (Банально при создании)
The Ant
хз, до сих пор делал как в доке написано ) Не думал над этим
Павел
хз, до сих пор делал как в доке написано ) Не думал над этим
В доке написано все сущности в одну папку Entity класть
Павел
Короче дока не про то. Это даже не про симфони
The Ant
м.б. еще потому что не воспринимаю команду как дто, а как посыл к действию
Павел
Это как ты пишешь либу какую то в своем проекте (например парсер сложный), а он у тебя не в папке Service/Parser/* а в папках /Service/Parser/* и /Dto/Parser/*
The Ant
бля хз. чето сложные темы с утра такое себе )
The Ant
в целом согласен, но еще раз, не думал на эту тему, есть более важные штуки, над которыми надо подумать 😄 делаю какв доке и всё
Пилот