Size: a a a

2020 August 27

VS

Vlad Sobenko in PHP
Константин Грачев
Гайз, где то вроде слышал рекомендацию не создавать новые сущности в репозиториях. Типа не создавать методы getOrCreate.
В чём недостаток у такого решения?
Как минимум в обязанностях репозитория нет создания.
По creator(grasp) созданием лучше пусть занимается тот, кто данные хранит.
источник

А

Антон in PHP
Артём
Или нельзя тут упоминать это название?
Только если уберешь за собой
источник

S

SarcasmIO in PHP
Константин Грачев
В данном случае именно этот
а чисто интересно ,в случае если кошеля нет, где ты его персистить собрался ?
источник

S

SarcasmIO in PHP
в условных ларавелях по 30 методов аля findOrNew и тд, мне никогда не заходило подобное
источник

А

Артём in PHP
SarcasmIO
в условных ларавелях по 30 методов аля findOrNew и тд, мне никогда не заходило подобное
Давайте не будет развивать тему, мы молодые ещё, много не понимаем...
источник

VS

Vlad Sobenko in PHP
SarcasmIO
в условных ларавелях по 30 методов аля findOrNew и тд, мне никогда не заходило подобное
Чё норм, для RAD
источник

S

SarcasmIO in PHP
SarcasmIO
а чисто интересно ,в случае если кошеля нет, где ты его персистить собрался ?
чекать по $entity->getId() === null и персистить в репосе ?
источник

SP

Sergey Protko in PHP
больше кастылей да
источник

SP

Sergey Protko in PHP
больше "я тут рандомом стэйт накидал и потом по getId() === null разберусь че с ним делать.. нахер так жить
источник

S

SarcasmIO in PHP
ну вот я потому и спросил)
источник

VS

Vlad Sobenko in PHP
Sergey Protko
больше "я тут рандомом стэйт накидал и потом по getId() === null разберусь че с ним делать.. нахер так жить
рифакторинг потом очень приятно)
источник

КГ

Константин Грачев... in PHP
SarcasmIO
а чисто интересно ,в случае если кошеля нет, где ты его персистить собрался ?
Есть репа, у неё методы add и get.
Есть N кода который достаёт счёт клиента и вызывает метод добавления транзакции.
Проблема в том, что во всех местах где вызывается get надо сделать if not null и создать счёт, либо можно в репе в методе get в случае отсутствия оного создать вызывать persist и вернуть.
В последнем варианте чувствую подвох, и вопрос был именно про это, чем плохо так делать
источник

S

SarcasmIO in PHP
Константин Грачев
Есть репа, у неё методы add и get.
Есть N кода который достаёт счёт клиента и вызывает метод добавления транзакции.
Проблема в том, что во всех местах где вызывается get надо сделать if not null и создать счёт, либо можно в репе в методе get в случае отсутствия оного создать вызывать persist и вернуть.
В последнем варианте чувствую подвох, и вопрос был именно про это, чем плохо так делать
ну тебе репос не может вернуть ничего кроме как () : Entity
и вот этот entity в случае если он новый по идее должен вернутся тебе уже добавленным в UoW ?

или ты где-то потом, в условном сервисе в конце будешь чекать на
$entity->getId() === null
// persist ?
источник

КГ

Константин Грачев... in PHP
SarcasmIO
ну тебе репос не может вернуть ничего кроме как () : Entity
и вот этот entity в случае если он новый по идее должен вернутся тебе уже добавленным в UoW ?

или ты где-то потом, в условном сервисе в конце будешь чекать на
$entity->getId() === null
// persist ?
естественно добавленный
источник

S

SarcasmIO in PHP
Sergey Protko
больше "я тут рандомом стэйт накидал и потом по getId() === null разберусь че с ним делать.. нахер так жить
👆
источник

КГ

Константин Грачев... in PHP
не вижу связи, и при чём тут getId вообще
источник

S

SarcasmIO in PHP
ну а как ты проверишь что это новый объект и что его нужно персистить ?
источник

S

SarcasmIO in PHP
или у тебя uuid в конструкторе ?
источник

VS

Vlad Sobenko in PHP
Константин Грачев
Есть репа, у неё методы add и get.
Есть N кода который достаёт счёт клиента и вызывает метод добавления транзакции.
Проблема в том, что во всех местах где вызывается get надо сделать if not null и создать счёт, либо можно в репе в методе get в случае отсутствия оного создать вызывать persist и вернуть.
В последнем варианте чувствую подвох, и вопрос был именно про это, чем плохо так делать
Представь, что в дальнейнем добавится ещё например 3 аргумента  для создания.
источник

КГ

Константин Грачев... in PHP
SarcasmIO
ну а как ты проверишь что это новый объект и что его нужно персистить ?
лять, в методе get будет персист вызван, я же написал.
Да uuid везде. До uuid кошелька мне фиолетово, ибо достаётся он всегда по id пользователя, который уникальный
источник