我看到laravel控制器帶有2個請求類。他們是一樣的嗎?Laravel請求類的說明
use Illuminate\Http\Request;
和
use App\Http\Requests;
它是可選的,選擇一個比其他?
我看到laravel控制器帶有2個請求類。他們是一樣的嗎?Laravel請求類的說明
use Illuminate\Http\Request;
和
use App\Http\Requests;
它是可選的,選擇一個比其他?
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)
Laravel 5(希望:P),你可以在上面就用:
use Request;
App\Http\Requests\Request
擴展Illuminate\Foundation\Http\FormRequest
和延伸它要驗證自己當解決掉的IOC容器的任何類。
另一方面Illuminate\Http\Request
只是一個明確的請求,直接從SymfonyRequest
擴展,如果您只需要從當前請求中提取請求參數或用戶,那麼在控制器方法中注入很有用。
我不是使用照亮\ HTTP \索取多少把握; 但應用程序\ HTTP \請求是用來給類:
獲取用戶輸入的數據。
如果用戶填寫表單,那麼我們可以在這個類的幫助下獲取數據。
2.製作用戶輸入驗證。
驗證可以在控制器中完成,但這不是很好的做法。 我們應該使用可以製作的單獨請求類: php artisan make:請求請求類名。 這將在App \ Http \ Requests \中創建一個名稱爲request-class-name的文件。 在這個類中,我們可以進行驗證以及授權。 如果您想了解授權,請了解蓋茨https://laravel.com/docs/5.4/authorization。