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

PECLに関して

PHPのライブラリを入れようとするとたまに出てくるPECLに関して。 最近でもメールパーサーを入れた時に出ましたね。 [PHP]pecl,phpize,extensionという単語を見て頭痛がするあな …

no image

CakePHP3 Unitテスト モデル編

長らくやろうやろうと思っていながら手がつかなかったCakePHP3のユニットテストについて。 以前にも何らかのエントリーで書いたのですが(下記参照)、モデル系はなかなかやらなかったので、これを機に説明 …

no image

CakePHPのcomponent

CakePHPのComponentについて。 CakePHPでは各コントローラに共通の処理をComponentとしてモジュール化することができます。 わかりやすいところでいえば認証のAuth,Sess …

no image

ファイルポインタ関連の操作に関して

CSVの読み込みに関してファイルポインタ関連で色々と整理することがあったのでメモ。 Contents1 今回やりたかった処理2 ファイルポインタとは 今回やりたかった処理 CSVファイルを読み込み(文 …

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

アーカイブ