Моя проблема находится где-то между моделью и контроллером. У меня все работает идеально, когда я использую MVC только для crud (создание, чтение, обновление, удаление). У меня есть отдельные модели для каждой таблицы базы данных. Я получаю доступ к этим моделям из контроллера , чтобы грубо их. Например, в приложении контактов у меня есть действия (создание, чтение, обновление, удаление) в контроллере (контакт) для использования методов модели (контакта) (создание, чтение, обновление, удаление).
Проблема начинается, когда я пытаюсь сделать что-то более сложное. Есть некоторые сложные процессы, которые я не знаю, куда мне их поставить.
- Например, при регистрации пользовательского процесса. Я не могу просто завершить этот процесс в пользовательской модели, потому что мне приходится использовать и другие модели (отправка писем, создание других записей для пользователя с помощью других моделей) и выполнять множество сложных проверок с помощью других моделей.
- Например, в некоторых сложных процессах поиска мне нужно получить доступ ко множеству моделей (статьи, видео, изображения и т. Д.)
- Или иногда мне нужно использовать apis, чтобы решить, что мне делать дальше или какую модель базы данных я буду использовать для записи данных
Так, где это место, чтобы делать эти сложные процессы? Я не хочу делать их в контроллерах, потому что иногда я должен использовать эти процессы и в других контроллерах. И я не хочу помещать эти процессы в модели, потому что я использую модели в качестве слоев доступа к базе данных. Может быть, я ошибаюсь, я хочу знать. Спасибо за ваш ответ .