请教:前台(用户端)后台(管理端)分开部署,如何共用模型等逻辑?

之前是把前后台写成一个项目分别部署,共享所有代码。现在需要前后端代码分离。

前台代码可以更简单,只需要读写部分表,用不到那么多的模型和逻辑。
后台功能很多,会涉及所有的表,以及更多的逻辑。

请问:如何共享前台的代码到后台?实现对模型类的统一。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 17

评论关注 看大佬怎么实现

2年前 评论

前台复制一份吧。前台的有些逻辑也复杂的吧,想电商的前台逻辑

2年前 评论

用户端用RPC调用管理端的业务

2年前 评论

@liaosp RPC 还需要增加不少对接代码。其实就是想通过版本控制工具之类的实现两个端共用部分 Model 类。这些类应该是统一且比较稳定的。

2年前 评论

那就建一个私有的composer 包,更方便

2年前 评论
小学毕业生 2年前

@liaosp 好办法,那有没有只用 Git 实现的方式了?

2年前 评论

如果只用git,可以使用子模块的形式共用相同的

2年前 评论
jcc123

大部分项目并不需要过多考虑怎么分,大部分都能用Ctrl c+v 解决掉。

2年前 评论

以前公司项目使用的方式是composer私有包,达到不同项目之间共享相同代码,composer私有包通过git仓库方式安装

2年前 评论

常见做法有以下几种:

  • 1、git submodule
  • 2、composer 私有包
  • 3、RPC方式
  • 4、较古老的方式,把共同的代码单独放在一个目录,所有服务器都部署这份代码,同时在autoload加载机器上做一些改造或是修改php.ini的include_path 去处理。
2年前 评论

既然分开部署了,不建议公用逻辑,反而会影响稳定性

2年前 评论

我们用的 laravel 包扩展的方式 composer 引入

2年前 评论

不建议共用!

不共用的好处:解耦。各自处理各自的业务,任何一端有变动,不会对另外一边产生影响,也不会因为共用使得代码结构越来越臃肿。 不共用的缺碘:需要管理和维护两套代码。

2年前 评论

composer包散

2年前 评论

继承。提取公因式。 共用的部分放父类

2年前 评论

git子模块最方便

2年前 评论

相对来说,不共用copy一份更好。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!