En PHP tenemos muchas herramientas para trabajar cómodamente y sin complicaciones, es lo hermoso de los Lenguajes de Programación, tenemos métodos, funciones, variables, etc. También tenemos las variables Super Globales que nos sirve de una manera singular, en este artículo te hablaremos sobre este tipo de variables, vayamos con el artículo.
Las variables Super Globales tienen soporte o fueron añadidas desde la versión 4.1.0 de PHP
Que son las Variables Super Globales ?
Este tipo de Variables a diferencia de las variables normales, son variables integradas o pre establecidas en el mismo Lenguaje de Programación PHP para ser usadas desde cualquier parte de tu código de PHP, es decir son accesibles independientemente del alcance que tenga una línea de código.
Puedes acceder a estas Variables Super Globales, desde cualquier función, clase o archivo PHP, sin tener que hacer algo especial, son sencillas de usarse y muy potentes.
Variables Super Globales
Básicamente son 9 tipo de Variables Super Globales que existen hasta la fecha en PHP 7+ , vamos a mencionar una por una y colocaremos un ejemplo de como funciona
$GLOBALS
Con esta variable super global puedes acceder a variables globales, desde cualquier lugar del código PHP, tambien desde funciones o métodos. Esta variable almacena las variables dentro de una matriz $GLOBALS[index] y este index almacena el nombre de la variable. Por ejemplo a continuación restaremos para saber cuantos postres van a faltar en un restarurante
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $clientes = 46; $postres = 32; function restar() { $GLOBALS['postresquefaltaran'] = $GLOBALS['clientes'] + $GLOBALS['postres']; } restar(); echo $postresquefaltaran; ?> // Obtenemos 14 |
$_SERVER
Esta Variable Super Global te ayuda a obtener información y encabezados de un servidor.
Por ejemplo vamos a obtener información de una servidor, obtenemos 2 cosas la ubicación del archivo PHP y el nombre del servidor a continuación
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; ?> // Obtenemos /php/demo.php www.nubecolectiva.com |
También existen otros elementos con los que puedes trabajar como:
- $_SERVER[‘REQUEST_TIME’]
- $_SERVER[‘QUERY_STRING’]
- $_SERVER[‘REMOTE_ADDR’]
- $_SERVER[‘HTTP_REFERER’]
- $_SERVER[‘HTTP_HOST’]
- $_SERVER[‘HTTP_REFERER’]
- $_SERVER[‘HTTP_USER_AGENT’]
- $_SERVER[‘SCRIPT_NAME’]
Entre otros elementos que existen en PHP.
$_REQUEST
Mediante esta variable super global puedes obtener información de los datos que han sido enviados en un formulario HTML, por ejemplo a continuación tenemos un formulario para pedir un postre, este formulario tiene un campo de texto y un botón enviar, cuando escribes el postre que deseas pedir y le das clic en el botón enviar, tendrás el nombre del postre que has escrito
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<!DOCTYPE html> <html> <body> <!-- Formulario HTML --> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nombre del Postre: <input type="text" name="postre" id="postre"> <input type="submit"> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // Usamos la Variable Super Global $_REQUEST $nombrepostre = htmlspecialchars($_REQUEST['postre']); // Si el usuario no ingreso nombre del postre, le imprimimos un mensaje if (empty($nombrepostre)) { echo "Por favor, escriba el nombre del Postre que desea Pedir"; } else { echo $nombrepostre; // Imprimimos el nombre del postre que ingreso el usuario } } ?> </body> </html> // Si se ingreso el nombre de Postre 'Torta de Chocolate' pues Obtenemos Torta de Chocolate |
$_POST
Esta variable Super Global, nos ayuda a obtener los datos que se enviaron en un formulario HTML similar a $_REQUEST pero también $_POST nos ayuda a pasara variables con datos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<!DOCTYPE html> <html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Postre: <input type="text" name="postre"> Cantidad: <input type="text" name="cantidad"> <input type="submit"> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // Usamos la Variable Super Global $_POST $nombrepostre = $_POST['postre']; $cantidadpostre = $_POST['cantidad']; if (empty($nombrepostre)) { echo "Ingrese un nombre de Postre"; } else { echo $nombrepostre; echo '<br>'; echo $cantidadpostre; } } ?> </body> </html> // Igualmente si se ingreso el nombre de Postre 'Torta de Chocolate' pues Obtenemos Torta de Chocolate |
Esta variable Super global se suele usar para obtener los datos que son enviados por medio de un formulario HTML, en la mayoría de aplicaciones con PHP.
$_GET
Esta variable se utiliza para obtener un dato específico que fue enviado en un formulario HTML, por ejemplo cuando envias datos con un formulario HTML, estos datos se envian por la URL del navegador, podriamos tener esta estructura
1 2 3 |
<a href="demo.php?<strong>sabordelagelatina=Fresa</strong>&<strong>cantidad=3</strong>">Enviar</a> |
Puedes ver que en el código anterior estamos enviando 2 datos, uno es sabordelagelatina y el otro dato llamado cantidad, si le haces clic en enviar entonces obtendremos dichos valores y con la variable super global $_GET obtenemos valor por valor especificamente
1 2 3 4 5 6 7 8 |
<?php echo "Sabor de la Gelatina " . $_GET['<strong>sabordelagelatina</strong>'] . " y Cantidad " . $_GET['<strong>cantidad</strong>']; ?> // Obtenemos Sabor de la Gelatina Fresa y Cantidad 3 |
$_FILES
Se suele usar para el trabajo con archivos en varios formatos, con esta Variable Super Global puedes acceder a la información del archivo que estas subiendo al servidor, por ejemplo si en un formulario el usuario carga una imagen y luego la sube al servidor haciendo clic en un botón Enviar imagen, cuando procesa la subida puedes ir obteniendo los datos de dicha imagen y manipular la imagen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php if(isset($_FILES['imagen'])){ $datos = array(); $nombre = $_FILES['imagen']['name']; $pesodelaimagen = $_FILES['imagen']['size']; $temporal = $_FILES['imagen']['tmp_name']; $formato =$_FILES['imagen']['type']; // Acá puedes decidir que hacer con los datos que obtienes de la imagen que el usuario cargue al servidor } ?> |
$_ENV
Esta variable Super Global te ayuda a imprimir las variables del entorno de tu servidor Web, por ejemplo si un usuario ha iniciado sesión en una aplicación, cada ves que uses $_ENV te va a imprimir el nombre del usuario que esta teniendo la sesión en la aplicación sin importar nada de manera absoluta, por ejemplo imprimimos el usuario actual que ha iniciado sesión
1 2 3 4 5 6 7 8 |
<?php echo "El usuario actual es ".$_ENV['username']; ?> // Obtenemos El usuario actual es Jorge Torres |
$_COOKIE
Esta variable super global te ayuda a manipular las Cookies que son guardadas en la PC del usuario, cuando el usuario ingresa a una Web, esta web le descarga ciertos cookies a su PC para que la próxima ves que el usuario vuelva a ingresar a la Web esta le cargue con más rapidez y con ciertas opciones que dejo configurado en su ultima visita a la Web, estas configuraciones suelen ser creadas automáticamente por el sitio Web y tambien pueden ser configuradas manualmente por el usuario si el Sitio Web le coloca ciertas opciones de Configuración. Por ejemplo si tenemos un cookie que se llama nombredepostre que ha sido guardado en la PC del usuario, lo podemos obtener para luego manipularlo
1 2 3 4 5 |
<?php echo ' La cookie Almacenada es ' . htmlspecialchars($_COOKIE["nombredepostre"]) . '!'; ?> |
$_SESSION
Mediante esta variable Super Global puedes gestionar las sesiones de los usuarios en tu aplicación, puedes darle un tiempo de sesión, romper la sesión si el usuario no cumple un requisito, etc. Por ejemplo cada sesión puede contener un conjunto de datos específicos, estos datos los podemos obtener e la siguiente manera
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php // Creamos una sesión session_start(); $_SESSION["usuario"] = "jorgeto"; $_SESSION["edad"] = "26"; echo "V."; ?> <!DOCTYPE html> <html> <body> <?php // Al tener una sesión creada podemos acceder a los datos de la sesión y manipularlos, los vamos a obtener a continuación echo "Nombre del Usuario: " . $_SESSION["usuario"] . ".<br>"; echo "Edad: " . $_SESSION["edad"] . "."; ?> </body> </html> //Obtenemos Nombre del Usuario: jorgeto Edad: 26 |
Conclusión
Las Variables Super Globales tienen mucha importancia en el desarrollo con PHP, algunas de estas pueden quedar obsoletas en las próximas versiones de PHP, pero hasta la fecha de este artículo siguen vigentes.
Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.