我有这条路线(请注意使用可选参数应用的过滤器):
Route::get('/greet/{name?}', array(
'before' => 'summergreet:optionalNameToCapture',
function ($name = 'friend') {
return View::make('greetview', array('name' => $name));
}
));
指定的过滤器:
Route::filter('summergreet', function($route, $request, $name = 'amigo')
{
if (date('m') >= 7 && date('m') <= 9) {
return View::make('summergreetview', array('name' => $name));
}
});
如何捕获路线的可选参数并将其传递给过滤器?
答案 0 :(得分:2)
你可以做到
Route::filter('summergreet', function($route, $request, $name = 'amigo')
{
$name = $route->parameter('name');
if (date('m') >= 7 && date('m') <= 9) {
return View::make('summergreetview', array('name' => $name));
}
});
我不确定“可选”参数的工作原理。您可能需要首先检查变量上的isset()
或is_null
....