2016-10-10 10 views
0

Laravel 5.3でカスタムエラーページを作成しようとしています。私はSessionに格納されているいくつかの変数を検索して、Session::get("username")のようにしたいのですが、空の変数があります。Laravelカスタムエラーページのアクセスセッション変数

LaravelのカスタムエラーページでSession変数を取得するにはどうすればよいですか?

+1

セッション:: get( "username")は、セッション変数にアクセスするために使用されます。しかし、それを確認するには、すべてのセッション値を表示し、インデックスが利用可能かどうかを確認してください。 –

+0

'dd(Session :: all())'を使ってエラーページの 'Session'変数をすべてダンプしました。エラーのないページで変数にアクセスできます。すべての私の 'Session'変数はログイン時に設定されます。 – Woody

+0

あなたの 'dd(Session :: all())'はどのエラーページで試しましたか? –

答えて

2

Laravelがルートを見つけられなかったので、ミドルウェア\Illuminate\Session\Middleware\StartSession(デフォルトではwebミドルウェアグループ)を通過しなかったため、セッションは開始されません。

は、あなたのセッションが初期化されてい Kernel.php$middlewarewebから \Illuminate\Session\Middleware\StartSession::class,を移動するには: $midleware

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    \Illuminate\Session\Middleware\StartSession::class, 
], 

ミドルウェアは、常にルートが見つからない場合でも、ので、あなたのセッションが初期化されます実行されます。

+0

これはうまくいきました! Laravelのすべての単一ルートで 'session'が有効になっていれば何か欠点はありますか? – Woody

+0

私は言うことができません... –

関連する問題