laravel5のメンテナンスモードをカスタマイズする方法

laravel5では下記のコマンドでメンテナンスモードに切り替えることができますが
php artisan down

メンテナンスモードに切り替えた際の挙動の変更方法がマニュアルで見つけることができなかったので、その方法を記載します。

====================================
1.ミドルウェアを生成
php artisan make:middleware CheckForMaintenanceMode

2.app/Http/Kernel.phpのCheckForMaintenanceModeのパスを変更
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode'
→'App\Http\Middleware\CheckForMaintenanceMode'

3.app/Http/Middleware/CheckForMaintenanceMode.phpを修正
<?php namespace App\\Http\\Middleware;
use Closure;
use Illuminate\\Contracts\\Routing\\Middleware;
use Illuminate\\Contracts\\Foundation\\Application;
use Illuminate\\Http\\Request;

class CheckForMaintenanceMode implements Middleware {
 
 protected $request;
 protected $app;

 public function __construct(Application $app, Request $request)
 {
  $this->app = $app;
  $this->request = $request;
 }

 public function handle($request, Closure $next)
 {
  if ($this->app->isDownForMaintenance() && 
   !in_array($this->request->getClientIp(), [\'【通したいIP】\']))
  {
   return response(\'Be right back!\', 503);
  }

  return $next($request);
 }
}
====================================
後は、CheckForMaintenanceMode.phpを適宜修正するだけです。



■参考サイト
https://laracasts.com/discuss/channels/general-discussion/laravel-5-maintenance-mode