Request是請求類,當用戶訪問一個路由時就會向服務器發送一個請求,咱們有時呢 會獲取用戶傳過來的一些參數來作相應的相應邏輯,因此說 Request是咱們Laravel攻城獅的基本功,必需要掌握滴~數據庫
它能夠取到用戶發過來的數據,能夠獲取到當前請求的方法 如GET和POST,URL和URI等。瀏覽器
有時在Controller中 根據用戶發來的數據作一些邏輯 好比對數據庫的更改、返回一些數據,再有就是在middleware中作一些認證時用到(好比說限制只有登陸纔可訪問)。服務器
GET方法:瞭解Request的一些用做和功能後,咱們來看看它如何取數據post
一、首先建立Controller,而後在route中註冊一個路由:url
Route::get('/test', 'TestController@index');
二、這個路由指向到TestController的index方法spa
public function index(Request $request) { echo $request->id; }
public function index(Request $request) { // 這種方法也能夠 echo $request->input('id'); }
三、咱們如何來輸入參數呢?code
在瀏覽器輸入:http://localhost:8000/test?id=5
就會打印出:5
POST方法: 要發送簡單的POST請求,推薦你們下一個Postman。blog
一、首先註冊一條post路由:路由
Route::post('/test/post', 'TestController@testPost');
二、在控制器中註冊方法:字符串
public function testPost(Request $request) { // 取到單個值 // dd($request->name); // 取到全部值 // dd($request->all()); // 只取哪些值 // dd($request->only(['age','name'])); // 取出除了這些鍵的值 dd($request->except('name')); }
三、使用Postman發送一條請求,在body中加入如下鍵值對:
name : Alex age : 24 birthday : 1993-4-16
以後在Postman中就能夠看見相應的數據了,我不會展現給你看,你須要本身敲敲代碼。
如下方法能夠在寫middleware中運用到,關於middleware 下一篇就會講到。
$request->method(); // 返回一個字符串 若是是GET方式 則返回"GET" $request->path(); // 返回一個字符串 好比你請求的路徑是 localhost:8000/test 那麼就返回"test" $request->url(); // 返回一個字符串 好比你請求的路徑是 localhost:8000/test?id=10 那麼就返回""http://localhost:8000/test"" $request->fullUrl(); // 返回一個字符串 好比你請求的路徑是 localhost:8000/test?id=10 那麼就返回"http://localhost:8000/test?id=1"
更多方法進到Request中就能看見。