当前位置:  开发笔记 > 编程语言 > 正文

为什么我应该使用$ _GET和$ _POST而不是$ _REQUEST?

如何解决《为什么我应该使用$_GET和$_POST而不是$_REQUEST?》经验,为你挑选了3个好方法。

除了$_REQUEST从cookie读取的事实,是否有任何理由我应该使用$_GET$_POST不是$_REQUEST?这样做的理论和实践原因是什么?



1> troelskn..:

除了$ _REQUEST从cookie读取的事实

除了这是未定义的事实(它可以在每个安装级别配置),使用的问题$_REQUEST是它过度简化了事情.GET请求和POST请求之间存在(或应该)语义差异.因此,如果您从一个源或另一个源获得输入,那么它对您的应用程序很重要.这就是HTTP协议的定义方式,因此通过忽略它,您正在破坏协议,这使您的应用程序可以减少互操作性.它与使用语义HTML标记而不是面向表示的标记可以是相同的类型参数.或者更一般地说,遵循协议的意图而不是仅仅在具体情况下做任何工作.



2> singpolyma..:

当我只想要用户的某些数据返回某些数据时,我使用$ _REQUEST.

当请求有副作用时,切勿使用$ _REQUEST.产生副作用的请求应该是POST(出于语义原因,并且由于基本的CSRF原因,错误的img标记可以在没有用户知道的情况下命中任何GET端点).

当GETing或POST到页面时会产生$ _GET会产生不同的结果.


恭喜,您刚收到第一个接受的答案:)欢迎来到stackoverflow.com!

3> Powerlord..:

你已经给出了一个答案,所以我会给另一个:

这更像是一种风格选择.例如,您通常不希望在服务器上更改状态的信息是可缓存的,因此您可能希望将其限制为$_POST变量.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有