如何在路由过滤器中获取Input对象的值?

时间:2013-08-01 15:46:59

标签: laravel laravel-4

我一直在他们的网站上关注Laravel指南,但有一件事我不清楚。在本教程中,他们描述了这个过滤器:

Route::filter('old', function() {
    if (Input::get('age') < 200) {
        return Redirect::to('home');
    }
});

Input的价值是如何分配的?

使用该过滤器的路线不是很具描述性:

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

我的猜测是Input代表用户,但它是如何分配的?他没有从数据库中获取用户,也没有任何东西。

1 个答案:

答案 0 :(得分:3)

'输入'(几乎)总是来自用户在您页面上发布的表单。在这种情况下,你应该有一个名为'age'的输入字段。

查看请求和输入:Laravel 4 Requests & Input

用Laravel Blade编写的表单示例:

{{ Form::open(array('url' => 'foo/bar')) }}
    {{ Form::text('name') }}
    {{ Form::text('age') }}
    {{ Form::submit('Submit this form') }}
{{ Form::close() }}

提交此表单后,您将能够:

echo Input::get('name');
echo Input::get('age');

或者只是你提交的所有内容:

var_dump(Input::all());