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: 11 let
|
0