Menu

6.8. 封装业务代码

file

封装业务代码

在本章节我们已经完成了购物车功能和下单功能,但是我们会发现我们在 Controller 里面写了大量的包含复杂逻辑的业务代码,这是一个坏习惯,这样子随着需求的增加,我们的控制器很快就变得臃肿。如果以后我们要开发 App 端,这些代码可能需要在 Api 的 Controller 里再重复一遍,假如出现业务逻辑的调整就需要修改两个或更多地方,这明显是不合理的。因此我们需要对 逻辑复杂业务代码 进行封装。

这里我们将在项目里采用 Service 模式来封装代码。购物车的逻辑,放置于 CartService 类里,将下单的业务逻辑代码放置于 OrderService 里。

一、购物车

首先创建一个 CartService 类:

$ mkdir -p app/Services && touch app/Services/CartService.php

app/Services/CartService.php

<?php...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 15

庞浩然Paul
获取用户的方式?
5 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
chao1991528
为什么非要用 associate ?
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
halweg
请问在 service 层,如何直接返回 return response?
1 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
Cellophane
批量删除的疑问?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
铁血情长
何时需要对查询数据进行封装
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
myhyperion
use Auth 是否有问题?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
等车的猪
assocation 用法疑惑
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
等车的猪
skuId 为什么需要加中括号括起来
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
等车的猪
这两个有什么区别 多加一个 all
1 个点赞 | 13 个回复 | 问答 | 课程版本 5.5
等车的猪
数据库回滚事件如何触发的
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
等车的猪
App () 和依赖注入的区别
0 个点赞 | 10 个回复 | 问答 | 课程版本 5.5
jingzhognwa
API 和网站用一套代码的问题
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
刻意练习,每日精进。
3
点赞
888
浏览
15
讨论