ThinkPHP6.0 请求


ThinkPHP6 请求

  • 要使用请求对象必须使用门面方式( thinkfacadeRequest类负责 )调用

  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤

  • 支持$_GET$_POST$_REQUEST$_SERVER$_SESSION$_COOKIE$_ENV等系统变量,以及文件上传信息

一、变量获取

方法说明
param获取当前请求的变量
get获取 $_GET 变量
post 获取 $_POST 变量
put 获取 PUT 变量
delete 获取 DELETE 变量
session 获取 SESSION 变量
cookie 获取 $_COOKIE 变量
request 获取 $_REQUEST 变量
server 获取 $_SERVER 变量
env 获取 $_ENV 变量
route 获取 路由(包括PATHINFO) 变量
middleware 获取 中间件赋值/传递的变量
file 获取 $_FILES 变量

1、GET 请求

  • PARAM类型变量是框架提供的用于自动识别当前请求的一种变量获取方式,是系统推荐的获取请求参数的方法

  • param方法会把当前请求类型的参数和路由变量以及GET请求合并,并且路由变量是优先的

controller代码

public function edit(){

    print_r( $_GET );    // 原生get接收

    print_r( Request::param() ); // 获取当前请求的所有变量

    print_r( Request::param('id') );    // 获取当前请求的id变量

    print_r( Request::get() );

}

view代码:index.html

<button class="layui-btn layui-btn-xs" onclick="edit({$right_v.id})">编辑</button>


<script type="text/javascript">

    function edit(id){

        layer.open({

            type: 2,

            title: '添加',

            shade: 0.3,

            area: ['480px', '440px'],

            content: '/index.php/index/edit?id='+id

        });

    }

</script>

2、POST 请求

controller代码

public function edit(){

    $id = Request::param('id');

    $shop = Db::table('shop_goods')->where('id',$id)->find();

    $cat = Db::table('shop_cat')->where('status',1)->select();

    View::assign([

        'shop' => $shop,

        'cat' => $cat

    ]);

    return View::fetch();

}

public function edits(){

    // print_r( Request::param() );

    // print_r( Request::post() );


    $all = Request::param();

    $update = Db::table('shop_goods')->where('id',$all['id'])->update($all);

    if($update){

        echo json_encode(['code'=>0,'msg'=>'修改成功']);

    }else{

        echo json_encode(['code'=>1,'msg'=>'修改失败']);

    }

}

view代码:edit.html

<!DOCTYPE html>

<html>

<head>

    <标题>

   

    <脚本类型= "text/javascript" src="/static/layui/layui.js"></script>

</head>

<body style="padding:10px;">

    <; form class="layui-form">

       

       

           

           

          标题      

           

       

       

           

           

                <选择名称= "cat">

                    <选项值=0 {if $shop['cat']==0} 选择 {/if}></option>

                    {volist name="cat" id=" cat_v"}

                       

                    {/volist}

               

           

       

       

           

           

               

           

        < /div>

       

           

           

               

           

</div>

        <div class="layui-form-item">

            <label class="layui-form-label">库存</label>

           

               

           

;

&lt;/div&gt&lt; div class =“ layui-form-item”&gt; gt; label class class =“ layui-form-label” class="layui-input-inline">