Laravel - это фреймворк MVC, понятно, что должно быть в Model, View и Controller. Но что, если у вас есть кастомная логика для обработки данных перед передачей их в представление? Где это должно быть?
- В том же методе контроллера?
- Отдельный частный метод Контроллера?
- Статическая функция в модели?
- Отдельный класс, как Сервис?
- Или, может быть, глобальная вспомогательная функция без какого-либо класса?
- Кроме того, я слышал, что репозиторий - это широко используемый шаблон?
И список продолжается.
Конечно, правильный ответ - зависит от многих факторов. Но от каких?
Об этом я и поговорю в этом курсе.
Цель - обсудить практические примеры структурирования более крупных приложений Laravel, различные подходы и шаблоны. Мы проанализируем существующие популярные проекты с открытым исходным кодом и их структуру.
Важное замечание: этот курс не будет посвящен шаблонам дизайна. Поэтому модные ключевые слова, такие как Singleton, Factory, Adapter, Repository и тд., будут использоваться только при необходимости.
Я постараюсь сосредоточиться на практической стороне: папках, классах и методах, а не на том, как этот шаблон на самом деле называется в теории. На самом деле, каждый проект представляет собой смесь шаблонов, и разработчики даже не знают, как их называют.