Je suis venu à travers les trois lignes de code suivantes:
$_SERVER;
$_ENV;
$_REQUEST;
Pour moi, il semble que ces trois lignes de code ne fait rien. Ils ne provoquent aucune erreur. Je sais ce que sont ces trois variables globales, je ne sais pas ce que font ces trois lignes de code. Quelqu'un peut-il m'éclairer?
Le fichier entier - dans le cas où il est pertinent:
<?PHP
function register_global_array($sg) {
Static $superGlobals = array(
'e' => '_ENV' ,
'g' => '_GET' ,
'p' => '_POST' ,
'c' => '_COOKIE' ,
'r' => '_REQUEST' ,
's' => '_SERVER' ,
'f' => '_FILES'
);
Global ${$superGlobals[$sg]};
foreach(${$superGlobals[$sg]} as $key => $val) {
$GLOBALS[$key] = $val;
}
}
function register_globals($order = 'gpc') {
$_SERVER; //See Note Below
$_ENV;
$_REQUEST;
$order = str_split(strtolower($order));
array_map('register_global_array' , $order);
}
register_globals('GPCFRES');
?>
Et non, il n'y a pas de note ci-dessous.
Ils font clairement quelque chose parce que si je les supprime, alors les erreurs de ligne foreach.
[NOOP] (http://en.wikipedia.org/wiki/NOP) Si simple – Rizier123
Alors pourquoi trois variables différentes à faire 3 fois par noop? – Graham
Ces variables ne seront pas enregistrées sauf si elles sont utilisées. Si vous essayez d'utiliser '$ _GLOBALS ['_ SERVER']' avant d'utiliser '$ _SERVER', il retournera' null'. –