在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、PUT、DELETE或者HEAD,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。
请求对象Request类提供了下列方法来获取或判断当前请求类型:
用途 | 方法 |
---|---|
获取当前请求类型 | method |
判断是否GET请求 | isGet |
判断是否POST请求 | isPost |
判断是否PUT请求 | isPut |
判断是否DELETE请求 | isDelete |
判断是否AJAX请求 | isAjax |
判断是否PJAX请求 | isPjax |
判断是否JSON请求 | isJson |
判断是否手机访问 | isMobile |
判断是否HEAD请求 | isHead |
判断是否PATCH请求 | isPatch |
判断是否OPTIONS请求 | isOptions |
判断是否为CLI执行 | isCli |
判断是否为CGI模式 | isCgi |
method方法返回的请求类型始终是大写,这些方法都不需要传入任何参数。
一、获取请求类型
index.php控制器
index.html视图文件
输出结果一:
输出结果二:
(注:请求类型伪装,目前只支持POST表单提交的方式,看看官方说明:支持请求类型伪装,可以在POST表单里面提交_method变量,传入需要伪装的请求类型。如上图的index.html文件)
二、获取原始的请求类型
如果要获取原始的请求类型,可以使用
Request::method(true);
实例:
index.php控制器
index.html视图文件
输出结果: