Introducción al PHP (Parte 4: Las variables)

  En esta entrada del blog se continuará con el acercamiento del lenguaje PHP al usuario medio (aunque lo que se explica aquí también puede ser usado por usuarios de informática de otros niveles, por supuesto).
  Recordemos que el lenguaje PHP es un tipo de lenguaje de guiones multiplataforma que suele utilizarse para crear páginas web dinámicas. Como todo lenguaje, posee una sintaxis y una gramática propias.
 En esta parte de nuestra introducción al PHP se hablará de las variables que emplea este.

  Como es sabido por aquellos que conocen la programación con más detalle, las variables son la parte fundamental de cualquier lenguaje de programación. Una variable es un contenedor que almacena un valor. Las variables obtienen su nombre del hecho de que el valor que almacenan puede cambiar durante la ejecución del guión.
  En PHP, son representadas con un signo "$" seguido del nombre de la variable, que debe seguir las siguientes directrices:

  •  Debe empezar por una letra o un caracter de subrayado.
  •  El segundo caracter y sucesivos puede ser cualquier número de letras, números y caracteres de subrayado.
  •   Non existe un límite en la longitud del nombre, aunque nombres muy largos son poco prácticos.
  •  El nombre es sensible a minúsculas y mayúsculas ("$a" es diferente de "$A", por ejemplo).
 En PHP no hay una instrucción para declarar una variable. La variable se crea en el momento en que se usa por primera vez. PHP convierte la variable al tipo de dato apropiado dependiendo del valor que se le asigne.
  No es necesario inicializar variables en PHP, aunque es una buena práctica. Las variables
no inicializadas tienen un valor según su tipo dependiendo del contexto en que son usadas:
  • Booleanas: Se asumen como "False".
  • Enteros y flotantes: Como cero.
  • Cadenas: Se establece la cadena vacía.
  Predeterminadamente, las variables siempre son asignadas por valor, lo que significa que cuando se asigna una expresión a una variable, el valor completo de la expresión original se copia en la variable destino. Esto quiere decir que, por ejemplo, después de asignar el valor de una variable a otra, los cambios que se efectúen a una de dichas variables no afectará a la otra.
  Otro modo de asignar valores a las variables es asignar por referencia, lo cual significa que la nueva variable simplemente referencia la variable original. Los cambios a la nueva variable afectan a la original, y viceversa.
  Para asignar por referencia, simplemente se escribe un signo "&" al comienzo de la variable cuyo valor se está asignando.

  Por otra parte, PHP proporciona una gran cantidad de variables predefinidas a cualquier guión que se ejecute. Dichas variables son conocidas como superglobales, y se trata de variables internas que están disponibles siempre en todos los ámbitos. Existen las siguientes:
  • $GLOBALS: Usada como variable suerglobal, hace referencia a todas las variables disponibles en el ámbito global.
  • $_SERVER: Información del entorno del servidor y de ejecución.
  • $_GET: Variables proporcionadas al guión por medio de "HTTP GET".
  • $_POST: Variables proporcionadas al guión por medio de "HTTP POST".
  • $_FILES: Variables proporcionadas al guión por medio de la subida de ficheros vía "HTTP".
  • $_REQUEST: Variables proporcionadas al guión por medio de cualquier mecanismo de entrada del usuario ("$_GET", "$_POST", "$_COOKIE"), son las variables HTTP Request.
  • $_SESSION: Variables registradas en la sesión del guión.
  • $_ENV: Variables proporcionadas al guión por medio del entorno.
  • $_COOKIE: Variables proporcionadas al guión por medio de HTTP Cookies.
  • $php_errormsg: El mensaje de error anterior.
  • $HTTP_RAW_POST_DATA: Datos POST sin tratar.
  • $http_response_header: Encabezados de respuesta HTTP.
  • $argc: El número de argumentos pasados a un guión.
  • $argv: Matriz de argumentos pasados a un guión.


ALCANCE DE LAS VARIABLES

  El alcance de una variable es el contexto dentro del que la variable está definida. En PHP podemos tener variables locales o globales.
  La mayor parte de las variables PHP sólo tienen un alcance simple. Este alcance simple también abarca los archivos incluídos y los requeridos.

  Dentro de las funciones definidas por el usuario aparece un alcance local a la función, lo cual significa que las variables dentro de la función son variables locales, o sea, no son accesibles fuera de la función. Cualquier variable usada dentro de una función está, predeterminadamente, limitada al alcance local de la función. Por otra parte, si la variable se define fuera de la función su alcance es global, y existe la posibilidad de poder utilizarla dentro de las funciones.
  De este modo, las variables globales deben ser declaradas globales dentro de la función si van a ser utilizadas dentro de la misma mediante el modificador "global". No hay límite al número de variables globales que se pueden manipular dentro de una función.
  Por otra parte, el código PHP puede ir mezclado con código HTML en una página web. En este caso, a pesar de que haya código HTML que interrumpa la secuencia del código PHP, las variables mantienen su alcance. Lo importante únicamente es la secuencia del código PHP.
  Otra característica importante del alcance de las variables es la variable estática. Una variable estática existe sólamente en el ámbito local de la función, pero no pierde su valor cuando la ejecución del programa abandona este. Para ello se utiliza el modificador "static".


EXISTENCIA Y TIPO DE UNA VARIABLE

  Como se ha demostrado previamente, el tratamiento de las variables en PHP es muy flexible, al tiempo que impreciso. Su tiempo de vida también es breve. En ocasiones, antes de volver a usarla, es necesario saber si una variable está definida, y si lo está, qué valor tiene. Puede ser que en el transcurso de un programa que llame a varias páginas web la variable fuese eliminada de la memoria o adquiriera el valor nulo. Para conocer estos dos datos PHP dispone de las dos funciones siguientes:
  • empty(): Devuelve el valor verdadero si la variable no está definida o lo está, pero tiene el valor nulo.
  • isset(): Devuelve el valor verdadero si la variable fue inicializada con un valor y falso si no lo fue.
  Si se necesita saber de qué tipo son las variables. PHP dispone con este fin de un conjunto de funciones, que empezan por "is_", y que devuelven verdadero si el tipo de variable es lo que se indique y falso si no lo es. Dichas funciones son:

 
Función
Efecto
is_array() Devuelve verdadero si el tipo de la variable es una matriz y falso si no lo es
is_bool() Devuelve verdadero si el tipo de la variable es booleano y falso si no es así
is_float(), is_double(), is_real() Devuelven verdadero si el tipo de la variable es un número en coma flotante y falso si no lo es
is_int(), is_long() Devuelven verdadero si el tipo de la variable es un número entero y falso si no es así
is_object() Devuelve verdadero si el tipo de la variable es un objeto y falso si no lo es
is_resource() Devuelve verdadero si el tipo de la variable es un recurso y falso si no es así
is_scalar() Devuelve verdadero si el tipo de la variable es escalar (número entero, flotante, cadena o booleano) y falso si no lo es
is_string() Devuelve verdadero si el tipo de la variable es una cadena de caracteres y falso si no es así
is_null() Devuelve verdadero si el tipo de la variable es el valor "NULL" y falso si no lo es
is_numeric() Devuelve verdadero si la variable es un número o una cadena numérica y falso si no es así
gettype() Devuelve directamente el tipo de la variable que se le pasa como argumento (tipos posibles: número entero, doble, cadena, matriz, objeto y desconocido)
  
  En el caso de que se pretenda modificar una variable, PHP también dispone de funciones para realizar estas operaciones: 
  • unset(): Todas las variables se eliminan por sí mismas al terminar la interpretación de un programa, por lo cual no es necesario eliminarlas explícitamente. Esta operación sólo es recomendable cuando se comprueba que dentro de un mismo guión php se consumen innecesariamente muchos recursos, como cuando hay muchas variables definidas que ya no se usan.
      En este caso, esta función elimina unha variable definida previamente. El nombre de la variable que debe eliminarse se pasa a la función como parámetro. Si la operación se llevó a cabo con éxito, la función devuelve el valor verdadero; de lo contrario, devuelve falso.
  • settype(): Esta función permite forzar que unha variable sea del tipo especificado, asignando un tipo concreto a la misma. En la función, el primer argumento es el nombre de la variable, mientras que el segundo es el tipo de dato, encerrado entre comillas, que debe tener: booleano, número entero, flotante, cadena, matriz, objeto, null.
  De vez en cuando conviene tener nombres de variables variables. Dicho de otro modo, son nombres de variables que se pueden definir y usar dinámicamente. Así, una variable variable toma el valor de una variable y lo trata como el nombre de una variable. Para ello, se escribe el nombre de una variable precedido de dos signos de dólar.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.