Как вы разделяете бэкэнд и фронтенд в проектах Laravel? - PullRequest
0 голосов
/ 15 мая 2018

Я новичок в Laravel.

Я работаю над проектом, который включает публичный веб-сайт и приложение для бэк-офиса.Оба являются веб-приложениями и предполагают, что они размещены на разных доменах.

  • Веб-сайт - общедоступный веб-сайт, использующий базу данных для извлечения данных.
  • Back-Office - приложение Backoffice или Admin для повторного создания / обновления / удаления материалов с использованием той же базы данных должно иметь собственный RBAC.

ПричинаХранение этих двух приложений по отдельности так, чтобы на общедоступном веб-сайте мы не выдвигали ненужный код и сохраняли его стройным и чистым.Тем не менее, они оба используют одну и ту же базу данных, поэтому Я хочу создать модуль / приложение / плагин (не уверен, как назвать его в Laravel), который может быть совместно использован обоими приложениями для моделей баз данных или любых другихбизнес-логика, которую можно использовать в обоих приложениях.

Есть идеи, как этого добиться с помощью Laravel Framework?

1 Ответ

0 голосов
/ 16 мая 2018

Исходя из моего опыта, наиболее очевидным подходом было бы использование одного бэкэнда (API), используемого двумя внешними интерфейсами.

  • API : Предоставление конечных точек REST, настроенных с помощьюнадлежащие полномочия (некоторые конечные точки предназначены только для пользователей с правами администратора).
  • Веб-сайт : классический веб-сайт (SPA или нет), взаимодействующий с бизнес-логикой через API.
  • Бэк-офис : та же история, что и на сайте.

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

Если вы хотите сохранить одну кодовую базу, я бы подумал о том, чтобы иметьбалансировщик нагрузки (например, HaProxy или Nginx) перед вашим приложением Laravel для обработки запросов от настроенных доменов к соответствующим маршрутам.Например:

  • acme.com root будет / для Laravel
  • bo.acme.com root будет /admin для Laravel
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...