Size: a a a

2021 February 18

АС

Альберт Степанцев... in PHP
Ni Shi
Добрый вечер, допустим у нас есть фреймворк с возможностью разделения на модули. Хотелось бы услышать ваше мнение стоит ли объявлять сущности внутри модулей? Или же объявить их все в "основе"?
Добрый день. Допустим, а что такое "модуль"?
источник

NS

Ni Shi in PHP
Фактически папка с функционалом конкретной направленности : например модуль управления статьями на сайте
источник

АС

Альберт Степанцев... in PHP
Ну вы же понимаете, что дальше я начну задавать вам вопросы на уточнение?
источник

АС

Альберт Степанцев... in PHP
Мне кажется, что вы интуитивно пришли к понимаю "контекста" из DDD
Но зачем-то называете это неверным термином "модуль"
источник

АС

Альберт Степанцев... in PHP
Если вопрос звучит как "Стоит ли сущности, относящиеся к одному контексту группировать по контексту?" то ответ "Да"
источник

АС

Альберт Степанцев... in PHP
Если речь про модули в смысле Yii, то ответ "Неинтересно обсуждать"
источник

NS

Ni Shi in PHP
Я не хотел бы рассуждать сейчас за термины потому что называется это где как и модули и контейнеры и тд

Мне интересен подход в том стоит ли объявить сущность статьи в этой папке или же в самой основной верхней
источник

АС

Альберт Степанцев... in PHP
Смените "папку" и "модуль" на правильный термин "ограниченный контекст" и ответ выше найдете.

Да, если вы выделяете контекст, тогда ДА, логично по контексту группировать сущности. В случае PHP вы для этого, что логично, будете использовать пространства имён.
источник

АС

Альберт Степанцев... in PHP
Потому что как раз модулей в языке нет ))
источник

NS

Ni Shi in PHP
Допустим были статьи и они получили рейтинг который реализован в соседней папке и обращается к сущности статей. В таком контексте разве не правильнее было бы объявить стати в самой верхней папке?
источник

AN

Alexander Nazarov in PHP
ну если у статей есть рейтинг, но конечная реализация рейтинга не ясна, то скорее всего надо добавить интерфейс рейтинга в статьях. А реализовать этот интерфейс на уровне там где рейтинг. Как то так
источник

NS

Ni Shi in PHP
Alexander Nazarov
ну если у статей есть рейтинг, но конечная реализация рейтинга не ясна, то скорее всего надо добавить интерфейс рейтинга в статьях. А реализовать этот интерфейс на уровне там где рейтинг. Как то так
Да если там какая то реализация бизнес логики логично ткнуть интерфейс. А я именно про связи сущности: если указать в связи один к многим интерфейс, думаете какой нибудь фрейморк такое пережует?
источник

AN

Alexander Nazarov in PHP
Сущности в контексте Doctrine Entity ?
источник

AN

Alexander Nazarov in PHP
То есть то что вы называете сущность = запись в БД ?
источник

NS

Ni Shi in PHP
Alexander Nazarov
Сущности в контексте Doctrine Entity ?
Нет конкретики, сущность - соответствие таблицы в бд
источник

NS

Ni Shi in PHP
Alexander Nazarov
То есть то что вы называете сущность = запись в БД ?
Да
источник

AN

Alexander Nazarov in PHP
А вы хотите типа low coupling между сущностями?
источник

NS

Ni Shi in PHP
Я не встречал вариаций в связях между сущностями, обычно фреймворк всегда представляет однозначный функционал для указания связи
источник

NS

Ni Shi in PHP
Например ларавел
`return $this->hasOne(Post::class);

тут не особо можно понизить связанность разве нет?
источник

А

Антон in PHP
Ni Shi
Например ларавел
`return $this->hasOne(Post::class);

тут не особо можно понизить связанность разве нет?
Можно. Достаточно это не юзать.
источник