Lumen7.x 使用笔记( 八)API Response分页参数重写

1,590 次浏览次阅读
没有评论

Lumen7.x 使用笔记(八)API Response 分页参数重写

1.app 目录新建 Utils 目录, 在 Utils 目录下新建 Paginator.php 文件

<?php
namespace App\Utils;

use Illuminate\Pagination\LengthAwarePaginator;

/**
 * API Response
 * Class Paginator
 * @package App\Http\Middleware
 */
class Paginator extends LengthAwarePaginator
{
    /**
     * Date: 2020/9/23
     * @return array
     */
    public function toArray()
    {
        return ['total'      => $this->total(),
            'page'       => $this->currentPage(),
            'page_size'  => $this->perPage(),
            'list'       => $this->items->toArray(),];
    }
}

2. 修改 App\Providers\AppServicesProvider.php

<?php
namespace App\Providers;

use App\Utils\Paginator;  // 引入
use Illuminate\Pagination\LengthAwarePaginator;  // 引入
use Illuminate\Support\ServiceProvider; 

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
        $this->app->bind(LengthAwarePaginator::class, Paginator::class);  // 绑定
    }
}
正文完
 0
评论(没有评论)