6.8. 封装业务代码

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

file

封装业务代码

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

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

一、购物车

首先创建一个 CartService 类:

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

app/Services/CartService.php

<?php

namesp...

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

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

上一篇 下一篇
Summer
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11

phpervip
订单提交后跳到订单详情页,403
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.8
虚妄
页面 bug?
0 个点赞 | 2 个回复 | 问答 | 课程版本 6.x
xiaoke
虚妄
Service 模式不应该还有一层接口嘛?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
osang
关于 PHP 文件结束符
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
zylntxx
如何将 Service 类注入队列 Jobs 中?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
t996523812
其中一个 service 类总是报 class not found 错误
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
江渚之上
连接地址失效
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
echopeimeng
购物车移除
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.7