php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > thinkphp5框架 >

thinkphp5请求类型

时间:2019-03-21 20:20来源:未知 作者:admin 点击:
获取请求类型 在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、PUT、DELETE或者HEAD,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全
获取请求类型
在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、PUT、DELETE或者HEAD,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。
 
请求对象Request类提供了下列方法来获取或判断当前请求类型:
 
用途 方法
获取当前请求类型 method
判断是否GET请求 isGet
判断是否POST请求 isPost
判断是否PUT请求 isPut
判断是否DELETE请求 isDelete
判断是否AJAX请求 isAjax
判断是否PJAX请求 isPjax
判断是否手机访问 isMobile
判断是否HEAD请求 isHead
判断是否PATCH请求 isPatch
判断是否OPTIONS请求 isOptions
判断是否为CLI执行 isCli
判断是否为CGI模式 isCgi
method方法返回的请求类型始终是大写,这些方法都不需要传入任何参数。
 
没有必要在控制器中判断请求类型再来执行不同的逻辑,完全可以在路由中进行设置。
 
请求类型伪装
支持请求类型伪装,可以在POST表单里面提交_method变量,传入需要伪装的请求类型,例如:
 
<form method="post" action="">
    <input type="text" name="name" value="Hello">
    <input type="hidden" name="_method" value="PUT" >
    <input type="submit" value="提交">
</form>
提交后的请求类型会被系统识别为PUT请求。
 
你可以设置为任何合法的请求类型,包括GET、POST、PUT和DELETE等,但伪装变量_method只能通过POST请求进行提交。
 
如果要获取原始的请求类型,可以使用
 
Request::method(true);
在命令行下面执行的话,请求类型返回的始终是GET。
 
如果你需要改变伪装请求的变量名,可以修改应用配置文件:
 
// 表单请求类型伪装变量
'var_method'             => '_m',
AJAX/PJAX伪装
可以对请求进行AJAX请求伪装,如下:
 
http://localhost/index?_ajax=1 
或者PJAX请求伪装
 
http://localhost/index?_pjax=1 
如果你需要改变伪装请求的变量名,可以修改应用配置文件:
 
// 表单ajax伪装变量
'var_ajax'               => '_a',
// 表单pjax伪装变量
'var_pjax'               => '_p',
_ajax和_pjax可以通过GET/POST/PUT等请求变量伪装。
 
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
  • ThinkPHP5.2版本正式变更为6.0版本
  • 主要考虑到新的架构调整变化较大以及不支持无缝升级这两大原因,官方正式宣

  • thinkphp5响应输出
  • 大多数情况,我们不需要关注Response对象本身,只需要在控制器的操作方法中返

  • thinkphp5请求缓存
  • 请求缓存 支持请求缓存功能,支持对GET请求设置缓存访问,并设置有效期。 请

  • thinkphp5参数绑定
  • 参数绑定是把当前请求的变量作为操作方法(也包括架构方法)的参数直接传入

  • thinkphp5:HTTP头信息
  • 可以使用Request对象的header方法获取当前请求的HTTP请求头信息,例如: $info =

  • thinkphp5输入变量
  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GE

  • thinkphp5请求对象
  • 当前的请求对象由think\Request类负责,在很多场合下并不需要实例化调用,通常

  • thinkphp5请求信息
  • Request对象支持获取当前的请求信息,包括: 方法 含义 host 当前访问域名或者

  • Thinkphp5学习笔记
  • thinkphp5是一个全新的版本它不再兼容以前的版本,改动比较大。个人认为它很像

  • thinkphp5伪静态
  • URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设

猜你喜欢