
f4rt~
23.02.2018
18:05:08
сделай коменты через гитхаб issue

Maxim
23.02.2018
18:18:13
Вот вы критикуете, а показать ничего своего не можете в пример

Sergey
23.02.2018
18:18:29
что тебе показать, что рассказать)

Google

Sergey
23.02.2018
18:18:50
а то у меня в голове только чатики да уберы (потому что это можно сделать за разумное время)
хочу свежих идей для пет проджектов

Maksim
23.02.2018
18:27:39

Sergey
23.02.2018
18:28:04
он простой и не совсем круд
ну и я довольно часто им пользуюсь, знаю людей которые пилят похожие сервисы (и некоторые нюансы которые не на поверхности)

Artur
23.02.2018
18:29:17

Maksim
23.02.2018
18:29:45
ладно) почитаем что тут в качестве идей накидают)
а то у меня мысли ток о платёжных агрегаторах) а убер не хочу)

Sergey
23.02.2018
18:29:52
обмажутся всякими akka-ми со скалами и чейнят друг друга

Artur
23.02.2018
18:34:41
серьёзный подход
прям как выше с $item_id . $mod_id

Maxim
23.02.2018
18:36:56

Google

Sergey
23.02.2018
18:41:04
ну то есть.... если дать посмотреть на проект где DDD и где это самое DDD оправдано - ты просто ничего не поймешь)
потому что погрузишься в технические детали

Artur
23.02.2018
18:41:58
Сергей лучше бы ты примерами крыл
ну типа так не надо. надо так

Dmitry
23.02.2018
18:42:10

Artur
23.02.2018
18:42:21
я бы даже в избранное добавил

Dmitry
23.02.2018
18:49:31

Sergey
23.02.2018
18:50:01
возможно в контексте твоего воркшопа ты объясняешь детали
но люди потом просто приходят в твой гитхаб и офигивают

f4rt~
23.02.2018
18:50:57

Sergey
23.02.2018
18:51:10
ну и опять же, есть еще нюансы с one-to-many и еще - для того что бы это работало надо явно настраивать каскады.

Dmitry
23.02.2018
18:55:36
серьёзный подход
Маппинг из полей БД в VO и обратно в обработчиках afterFind и beforeSave. В чём проблема?

Sergey
23.02.2018
19:01:30
если мы не гнушаемся делать кастыли вида $files = $this->files;$files[] = $file;$this->files[] = $files то сильно заморачиваться на тему чистоты нам не нужно. А это значит что и закрывать репозиторием AR нам не особо нужно.
и что помимо репозиториев есть другие подходы

Google

Sergey
23.02.2018
19:03:30
которые позволяют переместить кастыли описанные выше на чуть другой уровень или вообще спрятать за счет явных персистеров которые явно сохраняют весь граф
это не особо сложно но зато намного проще в отладке
ну то есть я понимаю что "волшебный бихейвер который надо руками тригернуть что бы он понял что надо сохранять" это просто и удобно
и что без этого неокрепшие умы могут и послать ибо "сложна"
но все же
в долгосрочной перспективе, и без контроля с твоей стороны (допускаю что ты знаешь что делаешь), я ощущаю страх и панику

Dmitry
23.02.2018
19:06:17

Sergey
23.02.2018
19:06:57
по поводу persistence ignorance - ты там что-то говорил про SOLID вообще-то
при том что я не вижу что бы код его соблюдал
а если он его и соблюдает местами - то это solid ради solid без какого либо профита даже с точки зрения тестирования
потому что тебе так или иначе придется учитывать вещи в духе того же тригера бихейверов для рилейшенов

Sergey
23.02.2018
19:08:30
это чем-то схоже с подходом "а давайте мы зафлашим не UoW а конкетную сущность, наверняка человеки разобрались как это работает"

Dmitry
23.02.2018
19:08:32
Все сервисы соблюдают

Sergey
23.02.2018
19:08:45
p.s. сервисы не смотрел

Dmitry
23.02.2018
19:11:10
А сущности в чём именно так критично его не соблюдают? Только S из-за неразбиения на контексты?

Sergey
23.02.2018
19:12:00
явная связанность с фреймворком была заменена менее явной но более жесткой связанностью
ну короч, ты серьезно думаешь что это удобно поддерживать? если так - я просто отстану и пойду по своим делам

Google

Admin
ERROR: S client not available

Sergey
23.02.2018
19:13:44
а в прочем...
можешь и не отвечать

Artur
23.02.2018
19:22:49

Sergey
23.02.2018
19:23:40
обычная практика в виду того что php не умеет в тайп элиасы
а как было бы красиво...
type UserID = string;

Artur
23.02.2018
19:34:52
я понимаю что нормально всё абстрагировать и заимплементировать в сущьность
где-то в параллельной нормальности

Sergey
23.02.2018
19:36:38

Artur
23.02.2018
19:37:12
было бы норм если бы на проекте везде были бы uuid
и был класс его чекающий и вот это всё

Sergey
23.02.2018
19:37:22
ммм...

Artur
23.02.2018
19:37:38
но uuid не нужны в нашей реляционно-объектной реальности

Sergey
23.02.2018
19:37:42
чем это отличается от string?)

Artur
23.02.2018
19:37:51
да ничем

Sergey
23.02.2018
19:37:57

f4rt~
23.02.2018
19:37:59
схема графкл

Sergey
23.02.2018
19:38:27
да ничем
то есть если нам нужен не просто uuid а именно uuid юзера нам всеравно придется фигачить UserID

Google

Artur
23.02.2018
19:38:33
я ни разу не видел проблем из-за айди )
даже намёков

Sergey
23.02.2018
19:39:41

Artur
23.02.2018
19:39:49
опа
имхо наоборот
но ты продолжай

Maksim
23.02.2018
19:40:23
с мускулем можно хранить юид в бинарном виде и всё ок

Sergey
23.02.2018
19:40:28
меня больше забавляет что человек который не так давно кричал что "убирать тип в подптипах грех!" на поверху вообще не волнует вопрос типов

Maksim
23.02.2018
19:40:31
не так удобно, но в целом ок