Laravel 5.1 Request请求怎么用?

Posted Alex_sun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘, ‘[email protected]‘);

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‘, ‘[email protected]‘);

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


以上是关于Laravel 5.1 Request请求怎么用?的主要内容,如果未能解决你的问题,请参考以下文章

在laravel 5.1中将对象转换为数组

来自贝宝的 Laravel 5.1 csrftoken curl

Laravel 5.1 请求未知数据库类型枚举

laravel框架用request:file接不到文件怎么解决

在 Laravel 5.1 中请求 ajax 文件不控制 PHP?

Laravel 5.1 auth 刷新后注销