「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」
背景
- 项目用Thinkphp5.1开发完成,对于各种关系模型的查询Tp处理起来还是比较吃力的。
- 作为努力奔跑的程序员,下一个项目我们决定用Lavarel进行开发。
- 因为掘金粑粑有奖励,所以把部分gitee上的私有的部分学习笔记整理一下。
说明
Laravel属于中大型框架,各种功能都被内置了,而且Laravel官方的文档看的我是云里雾里的,对于新手感觉不是很友好。所以此系列文章只适合有PHP基础。想快速入门搞开发的。
正文
上一篇文章我们介绍了service层的粒度问题。这里继续上一篇文章内容。
这一节,我们把Blog的service层提取一下,提取的原则就是 提供单一入口对Blog数据进行操作。兼容最多种模式。
我们创建文件 app\Http\Service\BlogService.php
<?php
namespace app\Http\Service;
use App\Models\Blog;
class BlogService{
//文章列表
public function getList($if=[], $size=5){
$res = Blog::query()->where($if)->paginate($size);
return $res;
}
//发表文章
public function add($data){
$res = Blog::query()->create($data);
return $res;
}
//修改文章
public function edit($id,$data){
$blog = Blog::query()->find($id);
if(is_null($blog)){return 0;}
$res = Blog::query()->where('id',$id)->update($data);
return $res;
}
}
Service 层提供三个 对于 Blog的操作 1 getList方法 获取博客列表。 因为前端需要调用审核通过的文章,后端需要调用所有的文章。所以,将条件写活,方便前后端都能通过这个Service获取到数据。
2 add 方法 发表博客功能。前后端都需要有发表博客功能,区别是前端发表的需要后台进行审核。所以将添加条件写的很灵活。方便前后端都能使用这个方法。
3 edit方法 编辑博客功能。前后端都有编辑的功能,后端对文章的审核操作也可以使用这个方法。
这样就完成了博客功能的Service层。