TP5 请求信息与请求参数

栏目:建站技术 2020-10-30

<?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());

    }
}

相关阅读

不带www跳转到www,http跳转到https

2023-03-38

一:windows操作系统,在网站根目录下,新建web.config这个文件1:不带www跳转到www代码示例&lt;?xmlversion=&quot;1.0&quot;encoding=&quot;UTF-8&quot;?&gt;&lt;configuration&gt;&lt;system.webServer&gt;&lt;rewrite&gt;&lt…

删除bom标签或者bom头的php代码

2020-10-1029

有时程序的逻辑代码完全没有一问题,但是就是运行的时候出错,如果出现这种情况,那么有可能就是文件中包含了bom头所导致的,下面给出了php去除bom头的源代码,只要把下面的代码放到一个php的文件中,并且改好目录,然后运行那个文件就可以了//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除=&quot;.&quot;;//修改此行为需要检测的…

AJAX随机调用数组中不重复的元素

2020-10-1023

读以记事本中的网址,记事本里中有多个网址,每个一行,然后使用AJAX循环请求随机出来的部分不重复的网址setsrmObj=server.CreateObject(&quot;adodb.stream&quot;)srmObj.type=1srmObj.mode=3srmObj.opensrmObj.Position=0srmObj.LoadFromFile(…

专业的人干专业的事,切莫用exit来干输出的事

2020-10-1024

专业的人干专业的&quot;事&quot;,切莫用exit来干输出的事在程序测试的过程中为了图片方便经常少写一行echo的代码来运行查看某个变量,在绝大部分的情况下我们传的都是非整数类型的变量,比如字符串等,所以在这样的情况下用exit来输出变量的值是能看到输出结果的,但是如果是整数类型的情况就不一样了,下面通过几个实验来说明一下这个问题第一个实验实参直接是…

access数据库的表如何导出到excel表?

2020-10-1093

其实要使access数据库导出到excel中很简单,只需要打开数据库,选中你要导出的表,然后选择菜单下面的外部数据,再选择excel即可,要导出时有两点需要注意,第一,只能单张的一个表一个表的导出,不能导出数据库,第二,一定要确保安装了excel软件,否则在外部数据那里可能找不到excel这个选项其实要导出到excel表还可以有另外一个反过来的办法,就是新建…

怎么获取腾讯视频真实地址?

2023-11-1115059

特别说明:1:腾讯视频的真实地址是http://IP地址开头的网址。2:腾讯视频的真实地址依赖于腾讯视频的原网页地址。3:腾讯视频的原网页地址仅限于以https://v.qq.com/x/page/开头的网址,以https://v.qq.com/x/cover/开头的网址,则是无法获取到真实地址的。要获取腾讯视频的真实地址有两个方法,第一种方法很简单,第二个…