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

nginxをいれているサーバーでのPHP停止

ちょっとトラブル対応的なネタです。 先日、PHPで書かれているシステムが突然使用できなくなるという連絡があるお客様からありました。 原因としてはカゴヤのサーバー再起動により、php-fpmが起動してい …

no image

サービスプロバイダとは

Laravelをやっていて、次に分かり難かった概念、サービスプロバイダについて。 アプリケーション開発にはデータベース、ファイル操作、ログ操作など様々な操作があり、個別のビジネス処理以外で共通化できる …

no image

CakePHP2系でのテスト処理

cakePHP2系でのテストの処理について。 PHPでのテストといえばphpunitが有名かと思います。cakePHPでも標準でphpunitがはいっており、ユニットテストを行うことができます。 Co …

no image

composer global require

composerでのglobal requireに関して。 composerでライブラリを読み込むとき、一般的には下記のどちらかで読み込むことが多いです。 composer.jsonに記述 [cray …

no image

cakeでのJOINについて&session

Contents1 cakeでのJOIN2 cakeでのsessionについて cakeでのJOIN cakePHPでは基本、hasManyなどの修飾子を使えば、リレーションをとることができますが、検 …