PHP – Server – $_SERVER, filter_input, filter_var
Función que devuelve un valor determinado de la variable superglobal $_SERVER.
Para acceder a la variable $_SERVER es mejor utilizar la función filter_input y filter_var y no acceder directamente a esta variable superglobal. Además estas funciones nos garantizan un contenido libre de errores.
/**
* Class HelperServer
*/
abstract class HelperServer
{
/**
* Devuelve el valor de una variable del
* array superglobal $_SERVER
* NOTA: filter_input para las opciones INPUT_SERVER
y INPUT_ENV no funcionan para FASTCGI
* Si la variable no existe, devuelve null
*
* @param string $key
*
* @return string
*/
public static function getValue($key) : string
{
if (filter_has_var(INPUT_SERVER, $key)) {
$value = filter_input(INPUT_SERVER,
$key,
FILTER_SANITIZE_STRING);
} else {
$value = '';
if (array_key_exists($key, $_SERVER)) {
$value = filter_var( $_SERVER[ $key ],
FILTER_SANITIZE_STRING,
null);
}
return $value;
}
if ($value === false || is_null($value)) {
return null;
}
return $value;
}
}
Ejemplo
$user_agent = HelperServer::getValue('HTTP_USER_AGENT');
print_r($user_agent);
