skillup

技術ブログ

PHP

Laravelでのmiddlewareの実行順番

投稿日:

Laravelでのmiddlewareをいじって認証直後の処理を作りたいときなど。

例えばログイン後、ユーザーidに応じた共通処理などをかませたいときです。

この場合、当然ログインの後に処理を実行しなくてはいけないので、authの直後に処理を行う必要があります。

まずはサンプルソースを。

app/Http/Middleware/OriginalAuth.php

route/web.php

注意点として、Kernelのprotected $middlewareやprotected $middlewareGroupに入れてしまうとauthの前に発動してしまいます。(Laravelのauthを使っている場合ですが・・)

もちろんKernelで定義しておかないと使うことはできません。

そこでprotected $routeMiddlewareで定義しておき(ここはrouteで使う用であくまで定義なので実行はされません。),routeの方でauthの後に書いてあげればauth後の処理(具体的にはログインユーザーの情報)を行うことができます。

Laravelのミドルウェアの実施順検証と小技

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Cakeの共通処理

CakePHPだけに限りませんが、フレームワークの場合、オブジェクト指向の特徴を理解して、全ページに共通な処理などは個々のコントローラーに書くのではなく、もっと抽象度の高いクラスに書いたほうが保守性が …

no image

PHPの無名関数+array系の関数

PHPの無名関数について。 PHP5.3.0以降で実装され、概念としては知っていましたが、あまり使ったことがありませんでした。 今開発しているPHPの案件で無名関数のソースをみたので、復習もかねてメモ …

no image

PHPにおけるstaticキャッシュ

PHPにおけるstaticキャッシュに関して。 PHPのおけるキャッシュはいくつかありまして、一般的にはmemcachedなどのKVS方式のキャッシュサーバーなどを使う方法が一般的かと思います。 キャ …

no image

正規表現(/を含むとき)

PHPの正規表現ですが、判定する文字列の中にスラッシュが入っている時の処理はデリミタを//ではなく{}でくくればOKです。 例えば数字2桁/数字1桁をチェックしたいとき [crayon-5d063b1 …

no image

nginxの設定&php-fpmインストール

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。 Contents1 nginxの設定1.1 インストール1.2 …