PHP 如何获取请求方法
当我们在网上打开一个网页、提交表单,甚至点击一个下载链接时,浏览器都会和网站的“后台”打个招呼,这个打招呼的方式就叫“请求方法”。就像你去便利店买东西,既可以说“我要一瓶矿泉水”(这是一种请求方式),也可以说“我要把这瓶水退了”(另一种方式),网站后台需要先搞清楚你是哪种请求,才能正确处理。
对用PHP做网站的开发者来说,拿到这个请求方法,是处理用户请求的第一步。很多新手刚接触PHP时,会觉得这个功能有点抽象,其实用生活化的例子一讲就懂,甚至自己写几行代码就能实现。

最常用的两种请求方法,先搞懂基础
咱们平时接触最多的请求方法,其实就俩:GET和POST。
- 比如你在搜索引擎搜“猫咪怎么养”,这个搜索请求就是用的GET方法,它会把你搜的关键词直接显示在网页地址栏里,就像你把要买的东西放在便利店的柜台上,店员一眼能看到。
- 再比如你在电商网站填地址下单,这个提交订单的请求就是用的POST方法,它不会把你的地址、手机号这些信息显示在地址栏里,就像你把写着地址的纸条递给店员,别人看不到上面的内容。
PHP要区分这两种方法,其实就是看浏览器“打招呼”的方式,不会像查字典那么复杂。
用超全局变量,一行代码搞定(新手入门款)
PHP里有个专门存请求信息的“公共小本子”,叫超全局变量,其中$_SERVER就是专门记服务器和请求细节的,咱们要找的请求方法,就藏在它的REQUEST_METHOD里。
举个真实的小例子:你可以在电脑上建一个叫test.php的文件,把下面这段代码放进去:
`php
$method = $_SERVER['REQUEST_METHOD'];
echo "你这次用的请求方法是:" . $method;
`
把这个文件放到你本地的PHP环境里打开,如果直接在浏览器地址栏输这个文件的地址(比如http://localhost/test.php),页面就会显示“你这次用的请求方法是:GET”;如果是用表单提交的方式访问(比如给上面的代码加个简单的表单),页面就会显示“你这次用的请求方法是:POST”。
这个方法是新手最常用的,没有复杂的逻辑,直接拿变量就行,就像你直接从小本子上翻到要找的那页,不用绕弯子。
更灵活的判断,适配复杂场景(进阶实用款)
有时候咱们需要根据不同的请求方法,做不同的处理——比如用户用GET访问某个页面,就展示内容;用POST提交表单,就保存数据。这时候可以用简单的判断逻辑,和咱们平时做选择的思路一样。
比如写一段简单的判断代码:
`php
$method = $_SERVER['REQUEST_METHOD'];
if ($method === 'GET') {
echo "这是GET请求,我负责给你展示页面内容";
} elseif ($method === 'POST') {
echo "这是POST请求,我负责处理你提交的数据";
} else {
echo "这是其他请求方法,我还没学会呢";
}
`
就像你去便利店,说“买东西”(GET)就拿商品,说“退货”(POST)就办退货,说其他的特殊需求,店员会告诉你能不能办——这段代码的逻辑和这个场景完全一致。
另外要注意,不同的请求方法还有PUT、DELETE这些,但平时做普通网站用得很少,基本用GET和POST就够了。
小提醒:别踩这个常见小坑
很多新手会犯一个错:直接用$_SERVER['REQUEST_METHOD'],但如果是在一些特殊的服务器环境,或者用了框架(比如Laravel、ThinkPHP),这个变量可能会被框架封装成更方便的方法,比如用request()->getMethod(),但本质都是在拿请求方法。
就像你去不同的便利店,有的直接给你看商品,有的需要你说要什么,核心都是“获取你要的东西”,只是形式不一样而已。
掌握了获取请求方法的方法,其实就是掌握了PHP和用户交互的第一道门槛,后面不管是做简单的留言板,还是复杂的电商后台,都要从这一步开始。