我今天刚开始学习Laravel,正在阅读文档和测试示例代码等。
我想出了一个基本的路由过滤器参数问题,我不确定它是如何工作的。
来自此文档页面上的示例http://laravel.com/docs/routing#basic-routing
下面的代码可能有误,我对laravel很新,不确定它是如何工作的
我编写的代码为 ERROR
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”值?
提前致谢:)
答案 0 :(得分: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';
}));
我在documentation中使用了相同的示例,但它确实有效。