Laravel 5.1 Request請求怎么用?


What is Request? -- 什么是Request?

Request是請求類,當用戶訪問一個路由時就會向服務器發送一個請求,我們有時呢 會獲取用戶傳過來的一些參數來做相應的相應邏輯,所以說 Request是我們Laravel攻城獅的基本功,必須要掌握滴~

 

What functions does it have? -- 它有什么功能?

它可以取到用戶發過來的數據,可以獲取到當前請求的方法 如GET和POST,URL和URI等。

 

When do we use it? -- 什么時候使用?

有時在Controller中 根據用戶發來的數據做一些邏輯 比如對數據庫的更改、返回一些數據,再有就是在middleware中做一些認證時用到(比如說限制只有登錄才可訪問)。

 

用Request取數據

GET方法:了解Request的一些用作和功能后,我們來看看它如何取數據

1、首先創建Controller,然后在route中注冊一個路由:

Route::get('/test', 'TestController@index');

2、這個路由指向到TestController的index方法

    public function index(Request $request)
    {
        echo $request->id;
    }
    public function index(Request $request)
    {
        // 這種方法也可以
        echo $request->input('id');
    }

 

3、我們如何來輸入參數呢?

在瀏覽器輸入:http://localhost:8000/test?id=5
就會打印出:5

 

POST方法: 要發送簡單的POST請求,推薦大家下一個Postman。

1、首先注冊一條post路由:

Route::post('/test/post', 'TestController@testPost');

2、在控制器中注冊方法:

    public function testPost(Request $request)
    {
        // 取到單個值
//        dd($request->name);
        // 取到所有值
//        dd($request->all());
        // 只取哪些值
//        dd($request->only(['age','name']));
        // 取出除了這些鍵的值
        dd($request->except('name'));
    }

3、使用Postman發送一條請求,在body中加入以下鍵值對:

name : Alex
age : 24
birthday : 1993-4-16

之后在Postman中就可以看見相應的數據了,我不會展示給你看,你需要自己敲敲代碼。

 

Request提供的一些方法

以下方法可以在寫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中就能看見。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM