laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)

laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)

一、总结

一句话总结:

依赖注入:通过依赖注入的方式来获取当前 HTTP 请求的实例:public function store(Request $request)

要通过依赖注入的方式来获取当前 HTTP 请求的实例,你应该在控制器方法中使用 Illuminate\Http\Request 类型提示。当前的请求实例将通过 服务容器 自动注入:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * 储存一个新用户。
     *
     * @param  Request  $request
     * @return Response
     */
    public function store(Request $request)
    {
        $name = $request->input('name');

        //
    }
}

 

 

1、如果控制器方法也有输入数据是从路由参数中传入,如何获取当前 HTTP 请求的实例?

只需将路由参数置于其他依赖之后(比如这里的$id):public function update(Request $request, $id)

|||-begin

Route::put('user/{id}', 'UserController@update');

|||-end

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * 更新指定的用户。
     *
     * @param  Request  $request
     * @param  string  $id
     * @return Response
     */
    public function update(Request $request, $id)
    {
        //
    }
}

 

 

2、请求中获取地址的常用方法及注意?

输出当前url地址(包含查询字符串):echo $request->fullUrl();
获取URL的路由:echo $request->path();
获取URl地址(返回不带有查询字符串的 URL):echo $request->url();
判断路由是否是request:var_dump($request->is('abc'));

 

// 输出当前url地址

    echo $request->fullUrl();
    http://www.yzmedu2.com/request?name=100

// 获取URL的路由

    echo $request->path();
    request

// 获取URl地址初参数


    echo $request->url();
    http://www.yzmedu2.com/request
// 判断路由是否是request
    返回值 true|false

    var_dump($request->is('abc'));

 

 

3、判断是get请求还是post请求实例(比如一个方法即可接受get请求又可接收post请求)?

if ($request->isMethod('GET'))
public function add(Request $request){

    // 判断当前是get请求

    if ($request->isMethod('GET')) {
        // 加载添加页面
        return view('add');
    }else{
        // 数据库的入库操作
        echo "插入数据库";
    }
    
}

 

 

4、如何获取和判断当前的请求类型?

获取请求类型:echo $request->method();
判断当前的请求是不是get请求:var_dump($request->isMethod('GET'));

 

// 判断当前的请求类型

    echo $request->method();

// 判断当前的请求是不是get请求
    返回值 true|false

    var_dump($request->isMethod('GET'));

 

 

5、获取所有的请求数据,比如get、post、put等等?

$_GET和$_POST中无法获取put类型的数据
all方法:$data=$request->all();

 

6、获取特定字段的请求数据,比如请求数据中的name字段?

input方法:echo $request->input('name');

 

7、请求中判断字段是否存在?

has方法:var_dump($request->has('username'));

 

 

8、请求中获取字段数据一些需要注意的?

设置默认值:input+键值对:echo $request->input('yao','强哥');
获取部分数据:only:$data1=$request->only(['name','pass']);
除了一些数据以外:except:$data1=$request->except(['_token','name']);

 

// 设置默认值
echo $request->input('yao','强哥');

// 获取部分数据

$data1=$request->only('name','pass');
$data1=$request->only(['name','pass']);

// 除了一些数据以外

$data1=$request->except('_token','name');
$data1=$request->except(['_token','name']);

 

 

 

 

 

二、内容在总结中

 

 

 

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/10834800.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值