素材牛VIP会员
Laravel - 数据处理逻辑、Model过多,各位把它们放哪儿?
 go***le  分类:PHP代码  人气:866  回帖:3  发布于6年前 收藏

之前用Yii2比较多,现在切换到Laravel有一段时间,内心一直有两个问题:

  1. 数据处理逻辑太多,放在 Controller 中不合适,各位都放在哪?
  2. 数据库Model太多(20+个,都在 app 根目录下),各位如何整理存放?
 标签:phplaravel

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv6 码匠
轰***o 软件测试工程师 6年前#1
  1. 可以在Http同级目录增加一个Logic层来存逻辑代码。controller只负责 接收请求,返回数据。model只负责操作与数据库有关的操作。

2.可以在Http同级目录新建一个Model目录,如果模型还是感觉很多的话,继续再model下建立对应的目录,只是注意文件的命名空间要修改正确

由于有图片需要传,我修改一下答案。

不会产生重复的情况啊?可能您说的意思我没理解透彻。我现在把我之前的一个目录结构发一下。您看一下有没有什么疑问

Lv6 码匠
co***ky Linux系统工程师 6年前#2
  1. Model 本身即代表数据表,所以你有几张表一般就对应几个 Model,这个多有什么关系呢?
  2. Model 层最好就是纯粹的 Laravel 的 Eloquent Model,里面不要有业务逻辑。
  3. 增加 Repository 层,将 Model 的业务逻辑封装在这里。
  4. 增加 Service 层,将 Controller 的业务逻辑封装在这里。
  5. Controller 层只负责数据获取、校验,调用相应 Service 的方法,返回数据。
Lv1 新人
岛***疤 页面重构设计 6年前#3

推荐使用RPS 模式
推荐文章:http://oomusou.io/laravel/lar...

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取