Reposirory в Yii2?

Обсуждаем, как правильно строить приложения
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Reposirory в Yii2?

Сообщение ElisDN »

paurlift писал(а): 2017.01.30, 14:03это правильный способ в Yii2 делать репозитории (на каждую сущность свой mapper) ?
Причём здесь Yii2 или не Yii2? Либо делаете один общий супер-маппер с настройками для каждой сущности (как Doctrine), либо для каждой сущности отдельный. Так везде.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Reposirory в Yii2?

Сообщение zelenin »

paurlift писал(а): 2017.01.30, 14:03Александр, подскажите, пожалуйста, примеры кода выше - это правильный способ в Yii2 делать репозитории
paurlift писал(а): 2017.01.30, 14:03я попробовал и понимаю зачем мне это нужно
нет, продолжаете не понимать. yii2 никак не связан с репозиториями, не предъявляет никаких к ним требований, соответственно нет критериев правильности. Репозитории в любом фремйворке или не фреймворке делаются одинаково - так, как вам нравится (как считаете правильным).

Соответственно вопрос должен звучать не "как правильно в yii2", а "какие подходы есть в создании репозиториев". И на этот вопрос в этом подфоруме отвечали десяток раз с примерами кода.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Reposirory в Yii2?

Сообщение samdark »

Без разницы. Даже по API с ними логичнее работать через $post.
Если изображения не переиспользуются и если они только для постов — да.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Reposirory в Yii2?

Сообщение samdark »

В Yii 2 вообще нет правильного или не правильного способа делать репозитории. Показанный способ нормальный. Возможно, можно как-то упростить, чтобы писать меньше кода. Но не факт, что стоит. Может выйти Doctrine.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Reposirory в Yii2?

Сообщение ElisDN »

samdark писал(а): 2017.01.30, 14:22 Если изображения не переиспользуются и если они только для постов — да.
Если это фотки только поста (как в примере), то работаем через Post и сохраняем все $this->photos вместе с постом в PostRepository.

Если фотки сами по себе поштучно - то сама фотка будет отдельным агрегатом Photo со своим PhotoRepository, что к сохранению агрегата поста уже не относится. В API будет свой CRUD для фоток /photos, а у поста своя страница /posts/5/photos для их подключения по photo_id. В этом случае в посте храним коллекцию $this->photoIds из PhodoId, а не из Photo. А в реализации уже подключаем через MANY-to-MANY и дропаем/воссоздаём через deleteAll/batchInsert строки связующей таблицы posts_photos при сохранении поста.
Ответить