我有这个路由(注意过滤器正在应用一个可选参数):
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));
}
});
如何捕获路由的可选参数并将其传递给过滤器?
你可以做
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
....