Size: a a a

2020 October 05

МФ

Максим Федоров... in symfony
потом валидные (если все или часть, тут от вашей логики) кидайте в агрегат
источник

ПГ

Павел Г. in symfony
Максим Федоров
достаньте те, которые есть, которых нет — отпарвьте в ютуб
Из репо?
источник

МФ

Максим Федоров... in symfony
Павел Г.
Из репо?
нет конечно, репо — это про агрегаты история... просто в БД сходи и сделай простой запрос
зачем тебе бизнес-объект для того, чтобы прочекать наличие записей? :) причем весь
источник

VS

Vlad Sobenko in symfony
Павел Г.
у вас изначлаьно newLinks - мне приходят не новые ссылки, а ВСЕ. Из всех нужно получить новые, и только для них обратиться к апи. А все лежат в  агрегате.
Обратная сторона боязни геттеров. Теперь ты боишься трогать агрегат)
источник

ПГ

Павел Г. in symfony
Максим Федоров
нет конечно, репо — это про агрегаты история... просто в БД сходи и сделай простой запрос
зачем тебе бизнес-объект для того, чтобы прочекать наличие записей? :) причем весь
Ну потому что они хранятся внутри него.
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
Обратная сторона боязни геттеров. Теперь ты боишься трогать агрегат)
Есть такое...
источник

VS

Vlad Sobenko in symfony
Vlad Sobenko
List newLinkList = $video->newLinks($allLinks)
Я ж и говорю - это норм. Попросить агрегат, чтобы он профильтровал тебе ссылки.
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
Я ж и говорю - это норм. Попросить агрегат, чтобы он профильтровал тебе ссылки.
"Профильтровать ссылки"... звучит неплохо, как задача а не геттер
источник

ПГ

Павел Г. in symfony
я просто думал newLinks - это не фильтр а уже добавление.
источник

VS

Vlad Sobenko in symfony
Павел Г.
"Профильтровать ссылки"... звучит неплохо, как задача а не геттер
Так он стейт и не откроет свой. Это могут быть разные типы вообще.
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
Так он стейт и не откроет свой. Это могут быть разные типы вообще.
Спасибо, думаю так и сделаю.
источник

ПГ

Павел Г. in symfony
Единственный минус, что в сервис классе будет обращение к апи, хотел все в чистую функцию как то превратить и вынести максимально - походу не выйдет
источник

МФ

Максим Федоров... in symfony
Павел Г.
Единственный минус, что в сервис классе будет обращение к апи, хотел все в чистую функцию как то превратить и вынести максимально - походу не выйдет
он тебе говорит не про обращение к АПИ, а про фильтрацию имеющихся и новых
источник

МФ

Максим Федоров... in symfony
но я бы не стал юзать агрегат для этого, но могу ошибаться
источник

ПГ

Павел Г. in symfony
Максим Федоров
он тебе говорит не про обращение к АПИ, а про фильтрацию имеющихся и новых
Я это понял
источник

AB

Andrii Byt'ko in symfony
Подскажите плиз, я загружаю на сервер csv файл дессериализирую его и обращаюсь к полю "id" в массиве, но мне говорит что Notice: Undefined index: id, этот файл ранее был выгружен через експорт в sonata admin. Как это возможно?
источник

DT

Dmitriy Tkachenko in symfony
Andrii Byt'ko
Подскажите плиз, я загружаю на сервер csv файл дессериализирую его и обращаюсь к полю "id" в массиве, но мне говорит что Notice: Undefined index: id, этот файл ранее был выгружен через експорт в sonata admin. Как это возможно?
Magic
источник

ПГ

Павел Г. in symfony
У меня просто есть юзкейс заполнения агрегата, вот я оттуда все максимально убрал, чтобы тестровать можно было без зависимостей. Все засунул в декораторы. А тут не выйдет скорее всего.
источник

ПГ

Павел Г. in symfony
Т.е. юзкейс уже получал данные готовые для заполнения.
источник

VS

Vlad Sobenko in symfony
Павел Г.
Спасибо, думаю так и сделаю.
Вот это уже геттер:
function foo($newList) {
       $oldList = $agg->getLinks();
       $newLinks = array_filter($newList, fn($link) => !in_array($link->url(), $oldList));
}
источник