Re:Vue

Redirect クラス

Redirect クラスは、HTTPリダイレクトを処理するための静的メソッドを提供する。
指定したURLやエラーページへの遷移を簡潔に行える。

1. コード

<?php

namespace app\aura\https;

class Redirect {

    public static function to($path, $statusCode = 302) {
        $url = dirname($_SERVER['SCRIPT_NAME']) . '/' . ltrim($path, '/');
        header("Location: " . $url, true, $statusCode);
        exit();
    }

    public static function error($statusCode = 404) {
        http_response_code($statusCode);
        if ($statusCode == 500) {
            include('templates/errors/500.php');
        } else {
            include('templates/errors/404.php');
        }
        exit();
    }
}

2. コード説明

  • メソッド
    • to($path, $statusCode)
      • 指定したパスへHTTPリダイレクトを実行
      • URLはスクリプトのディレクトリに基づき正規化
    • error($statusCode)
      • エラーページ(404/500)へリダイレクト
      • ステータスコードをHTTPレスポンスにセットし、対応するテンプレートを include して終了
      • 他のHTTPステータスコードのテンプレートを追加したい場合 は、このメソッドを編集して独自の条件を追加することで対応可能

3. 使い方 / 利用例

  • use app\aura\https\Redirect;でクラスを読み込む。
// 通常のリダイレクト
Redirect::to('index'); // 302リダイレクトで index ページへ

// 404エラーを表示
Redirect::error(); // デフォルト404

// 500エラーを表示
Redirect::error(500);