【Laravel】Laravel5.7のヘルパーを一気に勉強(19) – その他その6




Laravel5.7のその他に関するヘルパーその6です。

redirect()

引数なしだとリダイレクトインスタンスが返されます。
引数を指定すると第1引数にリダイレクト先、第2引数にHTTPステータスコード、第3引数にヘッダー、第4引数にhttps通信するかどうかを指定できます。

echo get_class(redirect());
// Illuminate\Routing\Redirector

redirect('/', 200, ['add-header' => 'aaa'], true);

report()

例外が発生したとき、エラー出力はしないが、例外ハンドラのreportメソッドを利用してログ出力し、処理を続けます。

try {
    throw new Exception('test error');
} catch (Exception $e) {
    report($e);
}

request()

引数なしの場合はリクエストインスタンスを返し、引数がある場合は第1引数のキーに対応する値を返します。
第2引数にはキーがなかった場合のデフォルト値を指定できます。

$request = request();
echo get_class($request);
// インプットパラメーターを取得
echo request('キー名', 'デフォルト値(任意');

rescue()

引数にクロージャを受け取り、クロージャ実行中に発生した例外は例外ハンドラのreportメソッドに送られるが、処理は継続します。

rescue(function() {
    throw new Exception('test error rescue');
});

response()

引数なしの場合はresponseインスタンスを返し、引数がある場合はresponseインスタンスを取得します。
第1引数に出力するデータ、第2引数にHTTPステータスコード、第3引数にヘッダーを指定できます。

$response = response();
response('response message', 200, ['test-header' => 'aaaa']);