TP5 请求信息与请求参数

所属栏目:建站技术 更新时间:2020-10-30 点击: 文章来源:/jzjs/3518.html

<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
class Index extends Controller
{
    public function index()
    {    
        //index/index/index/name/zs/age/18/sex/nan
        //使用函数助手 不需要use think\Controller;不需要use think\Request;不需要extends Controller
        echo "<pre>";
        print_r(request()->param());//请求参数
        echo "<br/>";
        echo request()->param('name');//获取参数数组中的name参数的值
        echo "<br/>";
        print_r(request()->only(['name','age']));//请求参数:仅包含name和age';
        echo "<br/>";
        print_r(request()->except(['name']));//请求参数:排除name';
        echo "<br/>";
        //param方法支持变量的过滤和默认值,如果没有传en_name参数,那么en_name参数默认就是jake,如果有传,那么对其进行小写处理
        echo request()->param('user_name','jake','strtolower');
        echo "<br/>";
        request()->bind('user_age',30);//动态绑定属性,属性名是user_age
        echo request()->user_age;//获取动态绑定的user_age这个属性的值
        echo "<br/>";
        //但是要注意变量的过滤和默认值以及动态绑定属性并不会改变request()->param()的结果,可以通过下面的再来输出一个其值
        print_r(request()->param());//获取参数数组
        echo request()->param('user_name');//输出为空
        echo request()->param('user_age');//输出为空
        echo "<br/>";
        print_r(request()->get());//要获取值,需要用?&的方式比如/index/index/index.html?name=zs&age=18&sex=nan
        echo "<br/>";
        echo request()->get('name');//要获取值,需要用?&的方式比如/index/index/index.html?name=zs&age=18&sex=nan
        echo "<br/>";
        print_r(request()->post());
        echo "<br/>";
        echo request()->post('name');
        echo "<br/>";
        print_r(request()->cookie());
        echo "<br/>";
        echo request()->cookie('pgv_pvi');
        echo "<br/>";
        print_r(request()->file());
        echo "<br/>";
        echo request()->file('image');
        echo "<br/>";
        echo "<br/>请求方法:";
        echo request()->method();
        echo "<br/>访问IP:";
        echo request()->ip();
        echo "<br/>是否是AJAX请求:";
        echo request()->isAjax() ? '是':'否';
        echo "<br/>当前域名:";
        echo request()->domain();
        echo "<br/>当前入口文件:";
        echo request()->baseFile();
        echo "<br/>包含域名的完整URL地址:";
        echo request()->url(true);
        echo "<br/>不包含域名的完整URL地址:";
        echo request()->url();
        echo "<br/>URL地址的参数信息:";
        echo request()->query();
        echo "<br/>不包含参数信息G的URL地址:";
        echo request()->baseUrl();
        echo "<br/>URL地址中的pathinfo信息:";
        echo request()->pathinfo();
        echo "<br/>URL地址中的pathinfo信息 不含后缀:";
        echo request()->path();
        echo "<br/>URL地址中的后缀信息:";
        echo request()->ext();
        echo "<br/>URL访问的ROOT地址:";
        echo request()->root(true);//等价于request()->domain()
        echo "<br/>URL访问的ROOT地址:";
        echo request()->root();
        echo "<br/>当前模块名:";
        echo request()->module();
        echo "<br/>当前控件器名:";
        echo request()->controller();
        echo "<br/>当前方法名:";
        echo request()->action();
        echo "<br/>路由信息:";
        print_r(request()->route());
        echo "<br/>调度信息:";
        print_r(request()->dispatch());
        echo "<br/>";
        print_r(input());//与request()->param()等价
        echo "<br/>";
        echo input('name');//与request()->param('name')等价
        echo "<br/>";
        print_r(input('get.'));//要获取值,需要用?&的方式比如/index/index/index.html?name=zs&age=18
        echo "<br/>";
        echo input('get.name');//要获取值,需要用?&的方式比如/index/index/index.html?name=zs&age=18
        echo "<br/>";
        print_r(input('post.'));
        echo "<br/>";
        echo input('post.name');
        echo "<br/>";
        print_r(input('cookie.'));
        echo "<br/>";
        echo input('cookie.pgv_pvi');
        echo "<br/>";
        print_r(input('file'));
        echo "<br/>";
        echo input('file.image');

        //不用使用函数助手第一种方法: 需要引入Request的命名空间,即use think\Request;
        $request = Request::instance();
        print_r($request->param());

        //不用使用函数助手第二种方法: 需要引入Request的命名空间,即use think\Controller以及继承Controller;
        //Controller中定义了一个成员变量protected $request;并且在Controller构造方法中就对那个成员变量进行了处理,所以Index继承Controller时,当Index被实例化的时候就可以调用父类的成员变量
        print_r($this->request->param());

    }
}

相关阅读

中英文混和的字符串的ASCII与UNICODE编码与解码

//1:获取中英文混合字符的编码(ASCII码与UNICODE码)$str=&quot;官网制作:网巢网络&quot;;foreach(math($str)as$key=&gt;$value){if(preg_match(&#39;/^[x{4e00}-x{9fa5}]+$/u&#39;,$value)){//中文,注意中文这里暂时不转换,因为无法通过chr…

了解详情 >>

用火狐打开百度一直加载s1.bdstatic.com的解决办法

一直用火狐浏览器,火狐浏览器插件多,很合适网页开发人员使用,以前一直用的好好的,但是今天使用的时候突然发现没有以前好用了,打开百度的官网一直很卡,通过FIREBGU发现在打开百度官网的时候一直会加载s1.bdstatic.com这个网站,无语,怎么打开百度的官网还需要链接s1.bdstatic.com这个网站这个网站吗?难道是百度被黑了,或者是自己的浏览器被…

了解详情 >>

手机访问电脑网时自动跳转代码

4G降临,移动网站已经一发不可收拾,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?各位看官,小二上代码!来了!varurl=window.location.href;varurl_match=/vit=1$/i;if(!url.match(url_match)){if(navigator.userAgent.match(/(…

了解详情 >>

小程序的下单与支付的业务流程

1:小程序携带商品信息调用第三方服务器的下单API2:第三方服务器下单API对小程序带来的商品作库存量检测3:如果检测通过,第三方服务器就会保存这个订单并且告之小程序下单成功4:小程序调用第三方服务器的支付api5:第三方服务器API调用微信的预订单API[WxPayApi::unifiedOrder](注意第三方服务器是无法完成支付的,这个订单实际是在微信…

了解详情 >>

小程序倒计时wxml与js

小程序倒计时jsPage({data:{windowHeight:654,maxtime:&quot;&quot;,isHiddenLoading:true,isHiddenToast:true,dataList:{},countDownDay:0,countDownHour:0,countDownMinute:0,countDownSecond:0,},/…

了解详情 >>

如何解决QQ显示未启用的问题

没设置临时会话,一般都会出现下面的状况。QQ放在网站上作为客服,必须设置临时会话。或者点击之后,要求加为好友才可以对话。解决这个问题的步骤如下:一、登陆腾讯官方网站:http://wp.qq.com/二、登陆之后,点“设置”,按下图所示,全部打勾。这个必须设置,不设置,不能临时会话,就会显示“未启用”。这一步是关键,必须设置。(1)先看服务有没被停用:如停用…

了解详情 >>

Copyright @ 2008-2019   www.sznest.net   All rights reserved  网巢网是一家专业为企业提供免费建站、自助建站的模板建站公司     友情链接:

微信

移动端

客服

顶部