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);
最后,我们自己注册的响应宏是可以响应出来的了
 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号