在很多情况下面,我们需要判断当前操作的请求类型是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控制器
    image.png

    index.html视图文件
    image.png

    输出结果一:
    image.png
    输出结果二:
    image.png
    (注:请求类型伪装,目前只支持POST表单提交的方式,看看官方说明:支持请求类型伪装,可以在POST表单里面提交_method变量,传入需要伪装的请求类型。如上图的index.html文件)

    二、获取原始的请求类型

    如果要获取原始的请求类型,可以使用

    Request::method(true);

    实例:

    index.php控制器
    image.png

    index.html视图文件
    image.png

    输出结果:
    image.png