PHP编程之美——小编(1)

时间:2022-10-17 21:58:58
优秀的判断力来自经验,但经验来自于错误的判断
——Fred *s
                                                       
PHP编程之美——小编(1)

今天分享一些编程技巧,也是自己对自己学习的一些总结,若有不当,欢迎拍砖! 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,所以,开始的开始,我们只是个孩子,最后的最后渴望变成天使,然而,你知道的,我们写代码之前总是想写出一些漂亮的代码,其实不然,如果我们是处处进阶的水平,我们刚开始只是知道,怎么做出功能,实现逻辑,得到结果,殊不知,慢慢的我们不在会写同样的代码,因为没意思吗,说道这里,所以体现出来,我们之前写的代码,之后看了一看,突然想到,这些代码不是能够封装吗,然而,我们这样就慢慢的成长了,就这样,慢慢的了解编程之美的好处,因为写一首烂代码,对我们,对观众都是不负责任的态度,所以,此时此刻,我们要不断改变吧,今天就写到这里吧!       总结一句话:把能够提取出来的代码,尽量提取出来,到最后你会发现,这就是代码的简易型,简单易懂,为你,为大家,我们共同作出一些改变吧!