我怎么能检测到哪个请求类型被使用(GET, POST, PUT或删除)在PHP?
当前回答
$request = new \Zend\Http\PhpEnvironment\Request();
$httpMethod = $request->getMethod();
通过这种方式,您也可以在zend框架2中实现。 谢谢。
其他回答
博士TL;
true的“原生源”是$_SERVER全局变量。请求方法 保存在“REQUEST_METHOD”键下。
检查$_SERVER数组
$ _SERVER(“REQUEST_METHOD”)
PHP方法
但是您可以使用许多变通方法来获得方法。像filter_input: filter_input(INPUT_SERVER, 'REQUEST_METHOD', FILTER_SANITIZE_ENCODED);
填词 或者使用外部库,比如:
Symfony \ HttpFoundation \ \组件请求 \ Zend \ \ PhpEnvironment \ Http请求
结论
但最简单的方法是使用:$_SERVER['REQUEST_METHOD']。
通过使用
$_SERVER['REQUEST_METHOD']
例子
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// The request is using the POST method
}
要了解更多细节,请参阅$_SERVER变量的文档。
这是非常简单的使用$_SERVER['REQUEST_METHOD'];
例子:
<?php
$method = $_SERVER['REQUEST_METHOD'];
switch ($method) {
case 'GET':
//Here Handle GET Request
break;
case 'POST':
//Here Handle POST Request
break;
case 'DELETE':
//Here Handle DELETE Request
break;
case 'PUT':
//Here Handle PUT Request
break;
}
?>
值得注意的是,即使您发送了其他类型的请求,PHP也会填充所有的$_GET参数。
上述回复中的方法是完全正确的,但是如果你想在处理POST, DELETE, PUT等请求时额外检查GET参数,你需要检查$_GET数组的大小。
$request = new \Zend\Http\PhpEnvironment\Request();
$httpMethod = $request->getMethod();
通过这种方式,您也可以在zend框架2中实现。 谢谢。
推荐文章
- 原则-如何打印出真正的sql,而不仅仅是准备好的语句?
- 如何从关联PHP数组中获得第一项?
- PHP/MySQL插入一行然后获取id
- 我如何排序一个多维数组在PHP
- 如何在PHP中截断字符串最接近于一定数量的字符?
- PHP错误:“zip扩展名和unzip命令都没有,跳过。”
- Nginx提供下载。php文件,而不是执行它们
- Json_encode()转义正斜杠
- 如何在PHP中捕获cURL错误
- 如何要求一个分叉与作曲家?
- 如何在php中创建可选参数?
- 在文本文件中创建或写入/追加
- 为什么PHP的json_encode函数转换UTF-8字符串为十六进制实体?
- 如何从一个查询插入多行使用雄辩/流利
- 在PHP单元测试执行期间,如何在CLI中输出?