たけるのプログラミング

作ったものとか、気ままにアップします。

【Laravel】ミドルウェア1人勉強会_その2【PHP】

takeru232423.hatenablog.com
readouble.com


前回の記事ではBeforeのミドルウェアについて書いたので、今回はAfterのミドルウェアについて書く。

Afterのミドルウェアは、コントローラの後に実行される。つまりクライアント(ブラウザ)に返されるレスポンスをいじることも可能である。

Afterミドルウェアの例

HogeMiddleware.php

<?php

namespace App\Http\Middleware;

use Closure;

class HogeMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
       $response = $next($request);
       $content = $response->content();
       $content = $content."<p>ひろゆき</p>";
       $response->setContent($content);
       return $response;
    }
}
  1. レスポンスの内容をcontent()https://laravel.com/api/6.x/Illuminate/Http/Response.html#method_contentを使って取得
  2. コンテンツに「ひろゆき」を追加
  3. setContent()https://laravel.com/api/6.x/Illuminate/Http/Response.html#method_setContentでレスポンスに設定
  4. returnする