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