Laravel 8 響應(yīng)宏

2021-07-17 16:00 更新

如果你想要定義一個(gè)自定義的可以在多個(gè)路由和控制器中復(fù)用的響應(yīng),可以使用 Response 門面上的 macro 方法。例如,在某個(gè) 服務(wù)提供者boot 方法編寫如下代碼:

<?php

namespace App\Providers;

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

class ResponseMacroServiceProvider extends ServiceProvider
{
    /**
     * 注冊(cè)響應(yīng)宏
     *
     * @return void
     */
    public function boot()
    {
        Response::macro('caps', function ($value) {
            return Response::make(strtoupper($value));
        });
    }
}

macro 方法接受一個(gè)名稱作為第一個(gè)參數(shù),閉包函數(shù)作為的第二個(gè)參數(shù)。響應(yīng)宏的閉包在 ResponseFactory 實(shí)現(xiàn)類或輔助函數(shù) response 中調(diào)用宏名稱的時(shí)候被執(zhí)行:

return response()->caps('foo'); 


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)