Autor Zpráva
návštěvník
Profil *
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 *
Tori:
dík

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: