以前からLaravel(ララベル)を使っていてわかりにくかったミドルウェアについてめも。Laravelは一般的にはMVCフレームワークと言われていますが、コントローラーがリクエストを受け取り、何らかのアクションを起こすまで、あるいはアクションが起こってから、レスポンスを返すまでのレイヤー層の動きを「ミドルウェア」と言います。基本的には全ページに共通な処理(認証)なんかをこれに入れると良さげ。全アクションの共通処理に使えます。フォームの値を受け取って、それをチェックすような仕組み、というものはコントローラーに書かずに別の部分が担当します。これがミドルウェアの働きです。認証の操作をする場合も、このミドルウェアが使われています。*ちなみに自作することも可能です。参考文献を見て見ましょう。独自のmiddlewareを作成する場合、下記コマンドで自動生成できます。app/Http/Middlewareのなかに作成されています。SampleMiddlewareapp/Http/Middlewareのなかに作成されています。$next($request);}}グローバルミドルウェア上記のように特定のページだけではなく全てのリクエスト(orレスポンス)時に動くミドルウェアがあり、これをグローバルミドルウェアと呼んでいます。これを制御しているのがapp/Http/Kernel.phpです。グローバルミドルウェアは通常だと下記のように定義されています。ここに登録されているものが共通で使われているミドルウェアです。一般的にはここに登録することが一般的のようです。多数のミドルウェアを使うようになると、複数のミドルウェアを一つにまとめて扱えるようにすると管理が楽になります。ミドルウェアはグループとして扱うこともできます。下記のような記述はルーティングでwebと呼び出せば、列挙されているミドルウェアが全て使うことができるようになります。[\App\Http\Middleware\EncryptCookies::class,\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,\Illuminate\Session\Middleware\StartSession::class,\Illuminate\Session\Middleware\AuthenticateSession::class,\Illuminate\View\Middleware\ShareErrorsFromSession::class,\App\Http\Middleware\VerifyCsrfToken::class,\Illuminate\Routing\Middleware\SubstituteBindings::class,],ミドルウェアの呼び出し(どのページで有効になるか?ルーティングの設定など)実際に認証の際に、middlewareを呼び出す場合はrouting時に呼び出すことにします。認証のmiddlewareはauthで呼び出せます。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。関連記事PHPでのメール送信&カレントディレクトリPHPの小ネタ集です。requireに関して。composerでライブラリを読み込むとき、一般的には下記のどちらかで読み込むことが多いです。redisインメモリデータベースのredis(レディース)について。キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。...emptyの扱いに関してPHPで空白や存在確認として便利なemptyですが、乱用すると意図しない動きをすることがあるケースが多々あります。