| Autor | Zpráva | ||
|---|---|---|---|
| návštěvník Profil * |
#1 · Zasláno: 12. 1. 2014, 10:03:20
Jaký je smysl této funkce? Proč někdo kdo chce získat QUERY_STRING provádí testování jestli je nastavená proměnná $_SERVER? Může taková situace vůbec nastat? Nebo to je nějaký pokus jak otestovat kterou verzi php uživatel používá?
function GetServerConstant($var)
{
global $HTTP_SERVER_VARS, $HTTP_ENV_VARS;
$RetVal = '';
if (!empty($_SERVER) && isset($_SERVER[$var])) $RetVal = $_SERVER[$var];
else if (!empty($_ENV) && isset($_ENV[$var])) $RetVal = $_ENV[$var];
else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS[$var])) $RetVal = $HTTP_SERVER_VARS[$var];
else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS[$var])) $RetVal = $HTTP_ENV_VARS[$var];
else if (@getenv($var)) $RetVal = getenv($var);
Return (empty($RetVal)) ? False : cb($RetVal);
}
GetServerConstant("QUERY_STRING"); |
||
| Tori Profil |
Má to trojí smysl:
- malé zjednodušení zápisu, aby nedocházelo k Notice: undefined index... při $_SERVER['nedefinovaný klíč'] (přičemž dlouhý název funkce a nemožnost přístupu k vnořeným polím tu výhodu ruší) - automatická úprava použitých dat funkcí cb(), jejíž oprávněnost je sporná - zpětná kompatibilita s PHP 4, dnes zcela nepotřebná |
||
| návštěvník Profil * |
#3 · Zasláno: 12. 1. 2014, 14:40:24
Tori:
dík |
||
|
Časová prodleva: 12 let
|
|||
0