Open3

LaravelでWeb API作るメモ

meshimeshi
vendor\laravel\framework\src\Illuminate\Foundation\Application.php
const VERSION = '11.30.0';
meshimeshi

middleware('guest')は何してる?

ここでaliasが指定されてて、RedirectIfAuthenticatedのクラスに解決される。

\vendor\laravel\framework\src\Illuminate\Foundation\Configuration\Middleware.php
class Middleware
{
    protected function defaultAliases()
    {
        $aliases = [
            // ...
            'guest' => \Illuminate\Auth\Middleware\RedirectIfAuthenticated::class,
            // ...
        ]
    }
}

呼び出し元はPipelineクラスで、このクラスの$methodで指定された名称のメソッドが呼び出される。つまり、最終的にはRedirectIfAuthenticated::handleが呼び出される。

class Pipeline implements PipelineContract
{
    // ...
    protected $method = 'handle';
    // ...
}
meshimeshi

ゲストユーザーで何かやる時のMiddlewareかと思ってたけど、認証済みユーザーをリダイレクトするだけ?