1

今日Laravelの学習を始めたばかりで、ドキュメントを読んだり、サンプルコードをテストしたりしていました.

基本的なルート フィルター パラメーターの問題が発生しましたが、それがどのように機能するのかわかりません。

このドキュメントページの例からhttp://laravel.com/docs/routing#basic-routing

以下のコードは間違っている可能性があります。私はlaravelに非常に慣れていないため、実際にどのように機能するかまだわかりません

私は私にエラーを与えるように書かれたコードを手に入れました

Route::filter('old', function($age)  // a guess is that the correct way to pass $age=400 ?
{
   if($age < 200){
     return Redirect::to(''); 
   }
});

Route::get('user', array('before' => 'old:400', function()
{
    return 'You are over 200 years old!';
}));

このコードから、「400」の値をフィルタの古い権利に渡すことを意味しますか? ...しかし、フィルターでその400値を取得する方法がわかりません...「400」がどの変数として渡されているか、またはフィルター関数でその「400」値を取得する方法を意味します。

問題は、その「400」値を取得するためにそのフィルター関数を作成する方法です。

前もって感謝します :)

4

1 に答える 1

3

フィルターによって評価されるパラメーターまたは値を渡したい場合は、次のようにする必要があります。

Route::filter('age', function($route, $request, $value)
{
  if($value < 200)
  return Redirect::to('/');
});

Route::get('test', array('before' => 'age:199', function()
{
  return 'Hello World';
}));

ドキュメントの同じ例に従ったところ、うまくいきました。

于 2013-08-23T16:52:31.413 に答える