laravelフレームワークを使用しています。次のルートがある場合:
Route::get('/test/{param}', array('before'=>'test_filter', 'SomeController@anyAction'));
そしてこのフィルター:
Route::filter('test_filter', function() {
$param = [Get the parameter from the url];
return "The value is $param";
});
/ test/foobarにアクセスしたときに「値はfoobarです」というページが表示されるように、フィルターにパラメーターを渡すにはどうすればよいですか
フィルターには、ルートオブジェクトやリクエストなどのパラメーターを渡すことができます。
フィルターパラメーターの指定
Route::filter('age', function($route, $request, $value)
{
//
});
上記の例はドキュメントから取得されます: http://laravel.com/docs/routing#route-filters
クロージャーの中に入ると、$route
からパラメーターを取得します。
Route::filter('test_filter', function($route) {
$param = $route->getParameter('param'); // use the key you defined
return "The value is $param";
});
Route::filter('test_filter', function() {
$param = Request::segment(1);
return "The value is $param";
});