response+++php,ThinkPHP 请求与响应

请求对象

请求对象调用

1、控制器构造方法注入

2、控制器操作方法注入(无论是否继承系统的控制器基类,都可以使用操作方法注入)

3、Facade调用

4、助手函数request

请求信息

Request对象支持获取当前的请求信息,包括:

方法

含义host

当前访问域名或者IP

scheme

当前访问协议

port

当前访问的端口

remotePort

当前请求的REMOTE_PORT

protocol

当前请求的SERVER_PROTOCOL

contentType

当前请求的CONTENT_TYPE

domain

当前包含协议的域名

subDomain

当前访问的子域名

panDomain

当前访问的泛域名

rootDomain

当前访问的根域名(V5.1.6+)

url

当前完整URL

baseUrl

当前URL(不含QUERY_STRING)

query

当前请求的QUERY_STRING参数

baseFile

当前执行的文件

root

URL访问根地址

rootUrl

URL访问根目录

pathinfo

当前请求URL的pathinfo信息(含URL后缀)

path

请求URL的pathinfo信息(不含URL后缀)

ext

当前URL的访问后缀

time

获取当前请求的时间

type

当前请求的资源类型

method

当前请求类型

输入变量

检测变量是否设置

$request->has('id','post');

变量获取

变量获取的格式:变量类型方法('变量名/变量修饰符','默认值','过滤方法')

最常用的获取变量类型方法如下:

方法

描述param

获取当前请求的变量

get

获取 $_GET 变量

post

获取 $_POST 变量

param方法会把当前请求类型的参数和路由变量以及GET请求合并,并且路由变量是优先的

获取请求类型

在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、PUT、DELETE或者HEAD,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求

用途

方法获取当前请求类型

method

判断是否GET请求

isGet

判断是否POST请求

isPost

判断是否PUT请求

isPut

判断是否DELETE请求

isDelete

判断是否AJAX请求

isAjax

判断是否PJAX请求

isPjax

判断是否为JSON请求

isJson(V5.1.38+)

判断是否手机访问

isMobile

判断是否HEAD请求

isHead

判断是否PATCH请求

isPatch

判断是否OPTIONS请求

isOptions

判断是否为CLI执行

isCli

判断是否为CGI模式

isCgi

HTTP头信息

$header = $request->header();

$agent = $request->header('user-agent');

伪静态

URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置url_html_suffix参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行

'url_html_suffix' => 'shtml'

'url_html_suffix' => '' //支持所有的静态后缀访问

'url_html_suffix' => 'html|shtml|xml' // 多个伪静态后缀设置 用|分割

'url_html_suffix' => false,// 关闭伪静态后缀访问

如果要获取当前的伪静态后缀,可以使用Request对象的ext方法。

$ext = $request->ext();

响应

大多数情况,我们不需要关注Response对象本身,只需要在控制器的操作方法中返回数据即可

如果修改配置文件,设置:'default_return_type' => 'json'则访问的输出结果就变成了JSON字符串

响应输出类型

为了规范和清晰起见,最佳的方式是在控制器最后明确输出类型(毕竟一个确定的请求是有明确的响应输出类型),默认支持的输出类型包括:

输出类型

快捷方法

对应Response类HTML输出

response

\think\Response

渲染模板输出

view

\think\response\View

JSON输出

json

\think\response\Json

JSONP输出

jsonp

\think\response\Jsonp

XML输出

xml

\think\response\Xml

页面重定向

redirect

\think\response\Redirect

附件下载(V5.1.21+)

download

\think\response\Download

响应参数

1、data设置响应数据

2、code设置状态码

3、header设置头信息(支持批量)

4、options设置额外参数

重定向

redirect助手函数重定向以及传参:redirect('hello',['name'=>'thinkphp']);

本作品采用《CC 协议》,转载必须注明作者和本文链接

趁还没掉光,赶紧给每根头发起个名字吧~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值