そこで、laravel 5 でデータベースが接続されているかどうかを確認したいのですが、これには Middlewares を使用しました。
ミドルウェア コード
ミドルウェア.php
名前空間 App\Http\Middleware;
use Closure;
class MyMiddleware {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(DB::connection()->getDatabaseName())
{
echo "conncted sucessfully to database ".DB::connection()->getDatabaseName();
}else{
die("Couldn't connect");
}
return $next($request);
}
}
それをkernel.phpに追加しました
protected $routeMiddleware = [
'error' => 'App\Http\Middleware\MyMiddleware',
'auth' => 'App\Http\Middleware\Authenticate',
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
];
特定のルートにエラーがないか確認したい
Route::get('/wow', ['middleware' => 'error', function () {
//
}]);
ミドルウェアではすべてが正常に機能しますが、check db のようなクラスや laravel コア関数は機能していません。どうすれば解決できますか?
これはlaravelが示すエラーです
FatalErrorException in MyMiddleware.php line 18:
Class 'App\Http\Middleware\DB' not found