php中的$_REQUEST变量

704 查看

最近在看框架的时候发先了$_RQUET变量,发现对该变量并不十分了解,这里就简单的总结一下!

①历史经历

5.3.0 引入 request_order。该指令会影响 $_REQUEST 的内容。
4.3.0 $_FILES 信息被从 $_REQUEST 中移除。
4.1.0 引入 $_REQUEST。

②注意事项

(1)在php中脚本运行期间,如果认为的更改了$_GET和$_POST元素,并不会影响$_REQUEST元素
举例子如下:

<?php
$_GET['foo'] = 'a';
$_POST['bar'] = 'b';
var_dump($_GET); // Element 'foo' is string(1) "a"
var_dump($_POST); // Element 'bar' is string(1) "b"
var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar'
?>

(2)在$_REQUEST是可以在php.ini文件中进行配置的!配置的项,主要起到了两个作用,
第一、决定了$_REQUEST中究竟包含什么元素
第二、这些元素的优先级,级别是从左向右越来越高!当发生参数同名的情况时,级别高的将会覆盖级别低的!
默认情况下,php.ini文件中的默认选项如下:request_order = "GP",也就是,并不包含COOKIE,如果我们希望他包含COOKIE的话,就将其改为request_order="GPC";

(3)我们可以认为的定一个同$_REQUEST数组类似的数组,我们可以过$_SERVER['REQUEST_METHOD']方式来确定请求的方式,来决定向数组中添加哪些元素!