请教:前台(用户端)后台(管理端)分开部署,如何共用模型等逻辑?
之前是把前后台写成一个项目分别部署,共享所有代码。现在需要前后端代码分离。
前台代码可以更简单,只需要读写部分表,用不到那么多的模型和逻辑。
后台功能很多,会涉及所有的表,以及更多的逻辑。
请问:如何共享前台的代码到后台?实现对模型类的统一。
评论关注 看大佬怎么实现
前台复制一份吧。前台的有些逻辑也复杂的吧,想电商的前台逻辑
用户端用RPC调用管理端的业务
@liaosp RPC 还需要增加不少对接代码。其实就是想通过版本控制工具之类的实现两个端共用部分 Model 类。这些类应该是统一且比较稳定的。
那就建一个私有的composer 包,更方便
@liaosp 好办法,那有没有只用 Git 实现的方式了?
如果只用git,可以使用子模块的形式共用相同的
大部分项目并不需要过多考虑怎么分,大部分都能用Ctrl c+v 解决掉。
以前公司项目使用的方式是composer私有包,达到不同项目之间共享相同代码,composer私有包通过git仓库方式安装
常见做法有以下几种:
既然分开部署了,不建议公用逻辑,反而会影响稳定性
我们用的 laravel 包扩展的方式 composer 引入
不建议共用!
不共用的好处:解耦。各自处理各自的业务,任何一端有变动,不会对另外一边产生影响,也不会因为共用使得代码结构越来越臃肿。 不共用的缺碘:需要管理和维护两套代码。
composer包散
继承。提取公因式。 共用的部分放父类
git子模块最方便
相对来说,不共用copy一份更好。