优秀的判断力来自经验,但经验来自于错误的判断
——Fred *s
今天分享一些编程技巧,也是自己对自己学习的一些总结,若有不当,欢迎拍砖!
public function onGetCourses()
{
$page = post('page',1);
$courseType = post('courseType',0);
$courseCategoryId = post('courseCategory',0);
$courseStatus = post('courseStatus',0);
$keyword = post('keyword','');
$query = (new CourseModel())->newQuery();
//筛选
$this->filterByCourseType($courseType, $query);
$this->filterByCourseStatus($courseStatus, $query);
$this->filterByCourseCategory($courseCategoryId, $query);
//模糊搜索
if($keyword != ''){
$query->Where(function ($query) use($keyword){
$query->where('name', 'like', '%'.$keyword.'%');
$query->OrWhere('keywords', 'like', '%'.$keyword.'%');
$this->orWhereInUser($keyword,$query);
$this->orWhereInPackage($keyword,$query);
});
}
$courses = $query ? $query->orderBy('id', 'desc')->paginate(2, $page)
: CourseModel::orderBy('id', 'desc')->paginate(2, $page);
return['courses'=> $this->makePartial('list_content',['courses' => $courses]),
'total' => $courses->total()];
}
protected function filterByCourseType($courseType,$query)
{
if($courseType != 0){
$query->where('type_id',$courseType);
}
}
关于上述通过请求来获取的数据,分页数据,筛选通过类型,query,模糊搜索,拼接字符串来获取数据,而筛选可以通过另写一个接口来进行,这就是体现了代码简单易读性,如果你不考虑过滤里边的东西,你只需知道这是一个过滤的方法就ok,所以,开始的开始,我们只是个孩子,最后的最后渴望变成天使,然而,你知道的,我们写代码之前总是想写出一些漂亮的代码,其实不然,如果我们是处处进阶的水平,我们刚开始只是知道,怎么做出功能,实现逻辑,得到结果,殊不知,慢慢的我们不在会写同样的代码,因为没意思吗,说道这里,所以体现出来,我们之前写的代码,之后看了一看,突然想到,这些代码不是能够封装吗,然而,我们这样就慢慢的成长了,就这样,慢慢的了解编程之美的好处,因为写一首烂代码,对我们,对观众都是不负责任的态度,所以,此时此刻,我们要不断改变吧,今天就写到这里吧!
总结一句话:把能够提取出来的代码,尽量提取出来,到最后你会发现,这就是代码的简易型,简单易懂,为你,为大家,我们共同作出一些改变吧!