Концерн Разделений в MVC

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

Я понимаю, что все шаблоны (шаблоны электронной почты, шаблоны веб-сайтов, шаблоны SMS, JSON для ajax и т. Д.) Принадлежат View. Также такие вещи, как проверка прав доступа пользователя (например, на страницах администратора), запрос маршрутизации и т. Д., Принадлежат контроллеру. А такие действия, как сохранение / извлечение / удаление данных базы данных, принадлежат модели. Наконец, ViewModels — это классы, которые вызываются представлениями для получения данных от моделей, а виртуальные машины идут в папку рядом с представлениями, моделями и контроллерами.

Но куда я должен поместить классы, такие как автозагрузчик, конфигурация, SendMail, SendSms, ReadMail, ReadSms, аутентификация, запрос, хэш, шифрование, валидатор, SessionHandler, ErrorHandler, CacheHandler, уведомления, чат, миграция БД и тысячи других?

Я ищу полное руководство: Как определить, что класс foo принадлежит M, V, C или VM, и в какую папку / пространство имен поместить это?

Постскриптум Я просто ищу независимый от технологии стандарт. Независимо от того, как Laravel или ZF или любые другие фреймворки реализовали MVC.

Благодарю.

-4

Решение

Прежде всего, вы не можете решить этот вопрос, не указав, какой фреймворк вы используете. Хотя MVC является практически одинаковым понятием в каждой среде, реализации платформы имеют определенные различия.

Допустим, вы используете Laravel, в этом случае ваши предварительные условия маршрутизации в качестве разрешений или даже вошли в систему или нет, будут реализованы в промежуточном программном обеспечении, которое должно быть выполнено в файле rout.php.

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

Я бы сказал, что даже если вы обладаете полным знанием шаблона MVC, вам необходимо решить и изучить структуру, которая будет использоваться. Соединяя эти 2 части, вы узнаете, где разместить каждый бит кода.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]