zoukankan      html  css  js  c++  java
  • laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)

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

    一、总结

    一句话总结:

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

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

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    
    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 AppHttpControllers;
    
    use IlluminateHttpRequest;
    
    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']);

    二、内容在总结中

     
  • 相关阅读:
    使用Twitter异常检测框架遇到的坑
    Python从入门到精通
    Windows中几个内存相当的指标
    Windows应用程序进程级别统一监控实践
    基于时序数据的微内核预警引擎架构设计
    Flink1.4.0连接Kafka0.10.2时遇到的问题
    wait和sleep的区别
    JVM几种垃圾回收器介绍
    二叉树的非递归遍历
    段页式内存管理
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10834800.html
Copyright © 2011-2022 走看看