"Before"フィルターを実装する


filters

 悩み事

リクエスト受信時に、コントローラーより先に実行される処理を実装・登録したい

 解決方法

"Before"フィルターは次の様に登録出来ます

\App::before(function($request) {
    if ($request->ajax()) {
        // この例ではajaxを用いたリクエストの場合に、
        // コントローラーで実行される前にフィルターで処理をします
        return \Response::json(['error' => 'AJAX not allowed']);
    }
    // 処理されるべきものが無い場合はそのまま通過し、
    // コントローラーなどが実行されます
});

 アドバイス

$requestIlluminate\Http\Requestオブジェクトです。

"before"フィルターを実装する一般的なファイルは、app/filters.phpになりますが、
サービスプロバイダー等で実装する事も可能です。

アプリケーション処理前に実行されるフィルターについて、理解を深める事ができます
リクエストのライフサイクルについて理解する
の実行手順のセクションに詳細が記述されています。


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa