ThinkPHP5请求和响应:
一、如何获取请求类
1、系统函数
$request=request();
2、系统Request类
use think\Request;
// 因为Request类属于单例模式 所以 不能直接new$request=Request::instance();
3、系统Request类
use think\Request;
// 方法的书写
public function index(Request $request)
{
dump($request);
}
二、获取用户请求信息
1、获取域名
dump($request->domain());
2、获取URL地址 除域名以外
dump($request->url());
3、 获取入口文件
dump($request->baseFile());
4、获取PathInfo路径
dump($request->pathinfo());
5、获取PATHINFO路径 无后缀
dump($request->path());
6、url地址伪静态后缀
dump($request->ext());
7、伪静态
就是将路径伪装成静态页面,让搜索引擎更好收录网站,防止别人知道网站真实开发语言
三、获取请求模块\控制器\方法
1、控制器
$request->controller();
2、方法
$request->action();
3、模块
$request->module();
四、获取请求相关类型
1、请求类型
$request->method();
2、请求资源类型
$request->type();
3、访问地址
$request->ip();
4、是否ajax请求
$request->isAjax();
5、获取所有地址栏参数
$request->param();
6、获取特定字段
$request->only(['name','id']);
7、剔除字段
$request->except(['name','id']);
五、获取变量
1、判断是否存在
dump($request->has('id','get'));
dump(input('?get.id'));
2、读取变量
dump($request->get('id'));
dump(input('get.id'));
dump($request->get());
dump(input('get.'));
3、可以读取数据类型
get、post、delete、put、session、cookie、server 等
$request->get();$request->post();
$request->put();
$request->server();
$request->request();
$request->session();
$request->cookie();
六、变量的过滤
1、作用
防止恶意输入、防止sql注入
2、使用
01)、全部的数据进行过滤
// 单个方法过滤
$request->filter("htmlspecialchars");
// 多种方法过滤
$request->filter(["htmlspecialchars","strip_tags"]);
02)、针对变量过滤
$request->get('name','','htmlspecialchars');
3、密码过滤之后加密
dump($request->get('pass','','htmlspecialchars,md5'));
七、变量的排除和获取
1、获取
$request->only('name');
$request->only('name',get);
$request->only(['name','pass'],get);
2、排除
$request->except(['name','pass'],get);
$request->except(['name','pass']);
$request->except('name');
八、变量修饰符
1、修饰变量的类型
s 字符串
d 整形
f 浮点型
a 数组
b 布尔型
2、使用
dump(input('get.id/d')); // 强制转换整形
dump($request->get('id/d'));
九、更改变量
// 地址栏访问 http://www.tp.com/index.php/Index/Index/xiugai?id=10
dump($request->get('id')); // 10
dump($request->get(['id'=>20])); //数组
十、参数绑定
1、使用
public function banding($id,$name="admin"){
dump($id);
dump($name);
}
http://www.tp.com/index.php/index/index/banding/id/1/name/user
2、注意
01)、参数绑定的个数,少于地址栏参数的个数
02)、参数绑定的名字,必须和地址栏参数名字一一对应
3、参数绑定可以设置默认值
dump($request->get('id')); // 20