2016-08-28 4 views
0

私のアプリのすべてのルートにオプションのパラメータが必要です。 (例:スポンサーコード)Laravel:すべてのページのURLのオプションパラメータ?

すべての可能なルートをコーディングすることなく、すべてのページでそれを確認する方法はありますか?私たちはこのようにそれをしなければならないフレームワークのない古典的なウェブサイトで

:場合

(ISSET($ _ GET [ 'my_optional_parameter'])){...}(すべてのページに含まれるファイル内)

お返事を事前に

おかげ

が素敵な一日を

フレデリック

+1

これをチェックするカスタムミドルウェアを追加します。ミドルウェアをルートグループに適用します(該当するルートがない場合は、該当するルートの周りにグループを作成します)。 https://laravel.com/docs/5.2/middleware#defining-middleware –

+0

ミドルウェアははいですが、問題は次のとおりです。このオプションのパラメータですべてのルートを書き直す必要がありますか? – Frederic

答えて

0

だけ基本ステップ。 何でもあなたは欲しい!

1ミドルウェアアプリケーション/ HTTP/Kernel.phpで

php artisan make:middleware SponsorMiddleware 

APP/HTTP /ミドルウェア/ SponsorMiddleware.php 2.

public function handle($request, Closure $next) { 
    if ($request -> query('sponsor_id')) { 
     //DO YOUR LOGIC HERE 
    } 
    return $next($request); 
} 

3を作成します。 $ middlewareGroups ['web']に追加

\App\Http\Middleware\SponsorMiddleware::class 
+0

はい、ミドルウェアの部分は分かりますが、問題はありません!私の問題は、ミドルウェアではなくルートに関することです。私が "/ my-page/mysponsorid"に行くと "/ my-page"であるルートがあるとしましょう。404を持っています。ルート/ my-page/{sponsorid?}をroutes.phpに追加する必要があります。今、私は1000の異なるルートを持っているとしましょう、私は{sponsorid?}で1000の新しいルートを追加すべきですか、それとももっと簡単にするオプションがありますか?ご協力いただきありがとうございます ! – Frederic

関連する問題