2016-05-15 117 views
0

我看到laravel控制器帶有2個請求類。他們是一樣的嗎?Laravel請求類的說明

use Illuminate\Http\Request; 

use App\Http\Requests; 

它是可選的,選擇一個比其他?

回答

1
use Illuminate\Http\Request; 

這一個是位於vendor/laravel/framework/src/Illuminate/Http/Request.php一個文件,它與所有的方法和屬性的類相關的要求,它擴展SymfonyRequest。

class Request extends SymfonyRequest implements Arrayable, ArrayAccess 
{ 
    // ... 
} 

use App\Http\Requests; 

這一個本身只是一個命名空間,它就像一個存根請求命名空間。我從來沒有使用它(我爲每個請求使用一條線)。

它可以以這種方式使用:

public function save(Requests\FormRequest $request) 
0

Laravel 5(希望:P),你可以在上面就用:

use Request; 
1

App\Http\Requests\Request擴展Illuminate\Foundation\Http\FormRequest和延伸它要驗證自己當解決掉的IOC容器的任何類。

另一方面Illuminate\Http\Request只是一個明確的請求,直接從SymfonyRequest擴展,如果您只需要從當前請求中提取請求參數或用戶,那麼在控制器方法中注入很有用。

0

我不是使用照亮\ HTTP \索取多少把握; 但應用程序\ HTTP \請求是用來給類:

  1. 獲取用戶輸入的數據。

如果用戶填寫表單,那麼我們可以在這個類的幫助下獲取數據。

2.製作用戶輸入驗證。

驗證可以在控制器中完成,但這不是很好的做法。 我們應該使用可以製作的單獨請求類: php artisan make:請求請求類名。 這將在App \ Http \ Requests \中創建一個名稱爲request-class-name的文件。 在這個類中,我們可以進行驗證以及授權。 如果您想了解授權,請了解蓋茨https://laravel.com/docs/5.4/authorization