laravel学习笔记--响应宏

响应宏

如果想要定义一个自定义的可以在多个路由和控制器中复用的响应,可以使用 Response 门面上的 macro 方法

就是提供一个固定的模板给响应使用

首先去app\Providers写一个响应类

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Response;
use Illuminate\Support\ServiceProvider;

class ResponseMacroServiceProvider extends ServiceProvider
{
    /**
     * 注册响应宏
     *
     * @return void
     */
    public function boot()
    {
    //api是响应名称,使用的时候是根据这个区分的
    //闭包里面是可以传递的参数
        Response::macro('api', function ($msg = '', $code = 200, $data = '') {
            $resData = [
                'code' => $code,
                'msg' => $msg,
                'time' => time(),
                'data' => $data
            ];
            return response()->json($resData);
        });
    }
}

写完响应后,还需要去注册我们自己写的响应
在config\app.php里面的providers[数组里面]去注册

App\Providers\ResponseMacroServiceProvider::class,

然后再去使用它

$blog = Blog::all();
        return response()->api('成功', '200', $blog);

最后,我们自己注册的响应宏是可以响应出来的了
在这里插入图片描述

posted @ 2022-11-20 01:49  小信吖  阅读(30)  评论(0)    收藏  举报