TP5 请求信息与请求参数

所属栏目:建站技术 更新时间:2020-10-30 点击: 文章来源:http://www.sznest.net/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());

    }
}

相关阅读

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

一: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…

了解详情 >>

数据库操作工具类SqlHelper

classSqlHelper{public$conn;public$host=&quot;localhost&quot;;public$username=&quot;root&quot;;public$password=&quot;root&quot;;public$dbname=&quot;mydb&quot;;publicfunction__constr…

了解详情 >>

如何让你的PHP网站变得更安全

安全配置一(1)打开php的安全模式php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开:safe_mode=on(2)用户组安全当safe_mode打开时,sa…

了解详情 >>

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

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

了解详情 >>

如何修改文件默认打开方式为指定的程序?

一:“开始菜单”,在里面点击右侧的“运行”选项,输入“regedit”命令,打开注册表修改默认的打开方式需要在注册表中操作,在完成这个操作之前,我们先了解一下注册表中的以下的三个概念项:即左侧的类似于文件夹一样的图标数值名称:即点击“项”之后出现在右侧部分的左边的那个名称数值数据:即点击“项”之后出现在右侧部分的右边的那个数据了解了以上的三个概念之后,接下来…

了解详情 >>

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

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

了解详情 >>

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

微信

移动端

客服

顶部