今天在用PHP原生开发项目的时候,需要用上判断请求类型是POST还是GET?或许很多人用框架用习惯了,估计没有这样的需求或者说框架已经有相应的方法了。
在实际使用中,GET是用来取数据的,像跳转到什么页面,做一些逻辑判断。
POST大多是表单提交。很不推荐使用表单得时候使用GET,除非像我上面说得,你得行为是为了获取数据。GET从逻辑上会更好理解一点。
而PHP很简单,把GET和POST统一化了,简便放入一个变量中。再不必去理解整个请求的逻辑。所以在php中,会很少去考虑是用post还是get。
PHP判断请求类型是POST还是GET 正确方法
$_SERVER['REQUEST_METHOD']
一个简单的 PHP判断请求类型是POST还是GET 示例代码:
<?php
if( $_SERVER['REQUEST_METHOD'] === 'GET'){
echo '这是GET请求';
}else{
echo '这是其它类型的请求';
}
注意:
$_SERVER['REQUEST_METHOD']的值为大写的:GET或者POST;
$_SERVER['REQUEST_METHOD']其它一些值的请求类型如下:
- GET 是从服务器获取数据
- POST 向服务器发送所需要处理的数据
- HEAD 获取与GET方法相应的头部信息
- PUT 更新或者替换一个现有的资源
- DELETE 删除一个服务器上的资源
- TRACE 对传到服务器上的头部信息进行追踪
- OPTION 获取该服务器支持的获取资源的http方法
总结:
我相信很多人最初可能觉得会有一个类似于 is_get 或 is_post 这样的函数,我最初也是这样的想法,结果实践的时候却提示“Fatal error: Uncaught Error: Call to undefined function is_get()”。
我的看法是压根没有此函数或者说以前有这个函数,后来又弃用了吧!由于时间问题,暂时先不去深究它了,有兴趣的朋友们可以去详细了解一下。