如何在laravel项目中分离后端和前端?

时间:2018-05-15 20:59:29

标签: php laravel

我是Laravel的新手。

我正在开展一个涉及面向公众的网站和后台应用程序的项目。两者都是Web应用程序,并且假设托管在不同的域上。

  • 网站 - 面向公众的网站使用数据库来提取数据。
  • 后台办公室 - 使用相同数据库再次创建/更新/删除内容的后台或管理员应用程序应具有自己的RBAC。

将这两个应用分开保存的原因是,在面向公众的网站上,我们不会推送不必要的代码并保持精简和清洁。但是,它们都使用相同的数据库,所以 我想创建一个模块/ app /插件(不确定如何在Laravel中命名),可以在数据库模型或其他任何应用程序之间共享可在两个应用程序之间共享的业务逻辑。

知道如何用laravel框架实现这个目标吗?

1 个答案:

答案 0 :(得分:2)

根据我的经验,最明显的方法是让两个前端使用一个后端(API)。

  • API :公开使用适当授权配置的REST端点(某些端点仅适用于管理员用户)。
  • 网站:通过API与业务逻辑交互的经典网站(SPA与否)。
  • 后台办公室:与网站相同的故事。

它以某种方式成为微服务架构。它有很多优点和缺点,但考虑到你不想推送不必要的代码,扩展到不同的应用程序似乎是合适的。

如果你想保留一个代码库,我会考虑在你的Laravel应用程序前面安装一个负载均衡器(比如HaProxy或Nginx)来处理从配置域到适当路由的请求。例如:

    对于Laravel来说,
  • acme.com root将为/
  • 对于Laravel来说,
  • bo.acme.com root将为/admin