もくじ
バージョン
Laravel:9.x
$request
URL例:http://localhost/foo/bar?hoge=fuga
$request->url();
クエリパラメータは取得しません。
$request->url(); // 結果 http://localhost/foo/bar
$request->fullUrl();
クエリパラメータも一緒に取得できます。
$request->fullUrl(); // 結果 http://localhost/foo/bar?hoge=fuga
$request->getRequestUri();
ドメインは取得しません。
$request->getRequestUri(); // 結果 /foo/bar?hoge=fuga
$request->getUri();
全て取得します。
$request->getUri(); // 結果 http://localhost/foo/bar?hoge=fuga
$request->getUriForPath('');
ルートを取得します。
$request->getUriForPath(''); // 結果 http://localhost
$request->path();
パスを取得します。
$request->path(); // 結果 foo/bar
$request->route()->named('home')
現在のリクエストが特定の名前付きルートにルーティングされたかどうかを確認したいときに用います。 注意および前提として、ルーティングに名前をつけておく必要がります。
たとえば下記の時、ルーティング名home
でコントローラーのhandle
メソッドに飛んできたとき処理Aが発動し、別のルーティングで飛んできたなら処理Bが発動します。
Route::get('/', function () { return redirect()->route('home'); });
public function handle($request, Closure $next) { if ($request->route()->named('home')) { // 処理A return; } // 処理B return; }
セッション $request->session()
$request->session()
これでセッション情報をすべて取得できます。
特定のセッションを取得したいときはget()
を使います。
たとえば、セッションにid
やname
を保存している場合、
$request->session()->get(`id`) $request->session()->get(`name`)