tp3 在某个方法中请求ajax,tp5-4 请求REQUEST

1 获取URL信息<?php

//第一种 使用系统方法

$re = request();

//第二种 使用系统类 因为是单例模式所以不能直接new

$res = \think\Request::instance();

dump($res);

//第三种 引入 think\Controller;think\Request; 两个系统类

namespace app\admin\controller;

use think\Controller;

use think\Request;

class Index extends Controller

{

public function test(Request $req)

{

//获取域名

echo $req->domain();

//除域名以外部分 包含?后面

echo $req->Url();  //admin.php/Index/test?dd=ddd

//不含?后面参数

echo $req->baseUrl();//admin.php/Index/test

//入口文件

echo $req->baseFile();

//获取pathinfo部分(除域名和?后面,中间部分)

echo $req->pathinfo();//Index/test

//同上 但不含后缀

echo $req->path();

//ROOT地址

echo $req->root(true);

//获取header参数 获取头信息

echo $req->header('token');

}

2 设置/获取 模块/控制器/方法名称

//获取模块

dump($req->module());

//获取控制器

dump($req->controller());

//获取方法名

dump($req->action());

3 获取请求参数

//请求方法

dump($req->method());

//资源类型

dump($req->type());

//访问ip

dump($req->ip());

//是否是ajax 请求

dump($req->isAjax());

//请求参数

dump($req->param());

//请求参数 仅包含nn

dump($req->only(['aa','bb']));

//请求参数 排除aa

dump($req->except(['bb']));

3.1 session和 cookie<?php

获取SESSION变量

Request::instance()->session('user_id'); // 获取某个session变量

Request::instance()->session(); // 获取全部的session变量

使用助手函数实现:

input('session.user_id');

input('session.');

获取Cookie变量

Request::instance()->cookie('user_id'); // 获取某个cookie变量

Request::instance()->cookie(); // 获取全部的cookie变量

使用助手函数实现:

input('cookie.user_id');

input('cookie.');

4 参数过滤

在表单里提交给自己然后判断有值时处理

全部过滤 可使用 input() 获取值<?php

//请求过滤

if(input()){

$req->filter(['strip_tags','htmlspecialchars','md5']);//过滤html代码 和把html代码转为实体 再进行md5加密

dump(input());

}

return view('test');

针对某变量过滤 和 内置提供的Filter ID过滤 不能用input() 获取过滤后的值<?php

if(input()){

$name = $req->param('name','','htmlspecialchars');

//$password = $req->post('password','','md5');  同样可针对 请求方法

$password = $req->param('password','','md5');

//使用  内置提供的Filter ID过滤

$email = $req->param('email','',FILTER_VALIDATE_EMAIL);

dump($name.'---'.$password);

}

return view('test');

如果要使用inpu() 获取过滤值  必须过滤就用<?php

$name = input('name','','htmlspecialchars');

$password = input('password','','md5');

$email = input('email','',FILTER_VALIDATE_EMAIL);

dump($name.'---'.$password.'----'.$email);5 变量修饰符

修饰符作用s强制转换为字符串类型

d强制转换为整型类型

b强制转换为布尔类型

a强制转换为数组类型

f强制转换为浮点类型<?php

//强制转化为字符串

dump(input('name/s'));

//强制转化为整型

dump(input('name/d'));

//强制转化为布尔类型

dump(input('name/b'));

//强制转化为数组

dump(input('name/a'));

//强制转为浮点型

dump(input('name/f'));

6 判断请求类型

$re = Request::instance();

dump($re->isGet());        //判断是否是get请求

dump($re->isPost());       //是否是post请求

dump($re->isMobile());     //是否是手机端请求

//也可以用助手函数

dump(request()->isAjax()); //是否是ajax请求7 参数绑定

注意: 当参数在方法里没有默认值时,必须要在url 里定义参数值 否则报错

参数绑定是把URL地址(或者路由地址)中的变量作为操作方法的参数直接传入

无需使用 input , get  ,post .....等方法获取

public function paramBind($name='李刚',$age='19')

{

dump($name.'--今年:'.$age);

}

8 http请求的缓存

public function cache()

{

$re = Request::instance();

$re->cache('cache','20');

// request()->cache('cache','20'); 或者使用助手函数

return '999';

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值