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中就能看见。

原文地址:https://www.cnblogs.com/Alex-sk/p/7134924.html