MVC и модельные обязанности - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть маленький проект Laravel. В этом проекте у меня есть несколько моделей, но для моего вопроса требуются модели User, Course и Payment.

A User может подписаться на Course (только один) и должен платить ежемесячную сумму за свою подписку.

Я создаю новую страницу, которая будет отображать различное содержимое в зависимости от текущего состояния User. Если им не удалось оплатить, я покажу ContentA, если все платежи до даты ContentB будет отображаться.

Правильно ли, с точки зрения архитектуры MVC, создать в User модели hasFailedPayments() функцию, которая будет выполнять все необходимые операции и проверять, чтобы определить, имел ли User сбой платежей? Должно ли это быть ответственностью одного из других слоев (Controller / View)?

В данный момент я делаю проверки в контроллере, но если мне нужно выполнить точно такую ​​же проверку, мне нужно будет продублировать этот код.

Заранее спасибо!

1 Ответ

0 голосов
/ 06 ноября 2018

Вы правы, эта логика будет жить в модели. В большинстве случаев большая часть или вся ваша бизнес-логика должна жить внутри ваших моделей. Вид предназначен для просмотра данных, полученных в результате логики. Контроллеры предназначены для обслуживания представлений моделями и управления общим ходом проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...