7.5. 代码封装

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

代码封装

前面的的章节我们完成了商品列表的各项搜索功能,但是我们发现商品列表控制器十分臃肿,里面有大量的代码用于构建 Elasticsearch 的查询,为了让代码布局更合理,同时提高复用性,接下来我们要对 Elasticsearch 的查询做一个简单的封装。

1. 创建查询构造器

我们目前的查询还比较单一,没有必要写一个像 Laravel Query Builder 那种十分灵活的查询构造器,因此只需要做一些简单的封装即可。

首先我们创建一个 ProductSearchBuilder 类:

$ mkdir -p app/SearchBuilders
$ touch app/SearchBuilders/ProductSearchBuilder.php

app/SearchBuilders/ProductSearchBuilder.php

<?php
namespace App\SearchBuilders;

use App\Models\Category;

class ProductSearchBuilder
{
    // 初始化查询
    protected $params = [
        'index' => 'products',
        'type'  => '_doc',
        'body'  => [
            'query' => [
                'bool' => [
                    'filter'...

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

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

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0

暂无话题~