Различные контроллеры для бэкэнда и фронтэнда - PullRequest
0 голосов
/ 28 февраля 2020


Таким образом, в прошлом году я погрузился в профессиональную веб-разработку с использованием laravel, и путешествие было потрясающим, с помощью stackoverflow, который мне очень помог. Этот вопрос - скорее мнение, чем я спрашиваю, как это сделать. Итак, я приведу пример.
Предположим, я создаю веб-сайт со статьями. Для статей я создаю миграцию, модель, контроллер и затем представления. Для миграции и модели требуется только один его набор, поскольку для него существует только одна таблица. Для просмотра у меня есть отдельные папки для админ-панели для бэкенда и внешнего интерфейса. Обычно в маршрутах я создаю группу для бэкэнда с префиксом admin и auth guard, которая встроена в laravel, хотя в более новых версиях laravel вам нужно сделать composer, требующий laravel / ui. Теперь, поскольку у меня есть разные маршруты как для бэкенда, так и для внешнего интерфейса, логично то, что я делаю, это создаю совершенно другой контроллер для бэкенда со всеми функциями CRUD, а для внешнего интерфейса я делаю отдельный контроллер и помещаю в него функцию index и show.
Это лучший способ справиться с этим, или есть более эффективный способ обработки бэкэнда и внешнего интерфейса? Кроме того, базовый c рабочий процесс разработки обычно такой же, как я упоминал, или вы, люди, по-другому относитесь к тому, как делать эти вещи. Пожалуйста, дайте мне знать.
Приветствия:)

1 Ответ

1 голос
/ 28 февраля 2020

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

Что работает для меня лучше всего, это разделить контроллеры на следующие группы:

  • Frontend
  • Backend
  • API

В некоторых случаях вам также может понадобиться группа для контроллеров, обрабатывающих запросы ajax / asyn c, т.е. группа Asyn c.

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