2013-08-01 111 views
0

我一直在他們的網站上關注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代表用戶,但它是如何得到分配?他不是從數據庫中獲取用戶,也沒有任何東西。

回答

3

'輸入'(非常多)總是來自用戶在您的頁面上發佈的表單。在這種情況下,您應該有一個名爲「年齡」的輸入字段。

看看請求,並輸入:Laravel 4 Requests & Input

的表格例子吧,寫在Laravel刀片:

{{ 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'); 

或只是你submited一切:

var_dump(Input::all()); 
+0

感謝您的解釋! – jviotti

+0

輸入也可以來自像Ajax數據。即''.get('some/path',{age:20},function(){});'',您將通過Input :: get('age')來檢索年齡數據' –