jairogarcíarincón

Introducción


761

Introducción



Cualquier aplicación PHP es un conjunto de instrucciones con una sintaxis derivada de C y Perl en sus orígenes, y muy influenciada por el estilo orientado a objetos de Java en las versiones más actuales. No obstante, la sintaxis de PHP sigue siendo bastante sencilla y fácil de entender.

Si bien se utiliza como lenguaje de programación puro, en sus orígenes se creó como procesador de texto (PHP: acrónimo recursivo de Hipertext Preprocessor), y por tanto puede ser introducido en ficheros de texto mediante el uso de etiquetas dedicadas, que pueden ser de cuatro tipos:

Standard tags: la opción por defecto y más recomendada y la que más compatibilidad ofrece, ya que no se puede desactivar en las preferencias.



Short tags: en su momento fueron el estándar y siguen siendo muy practicas sobre todo a la hora de incluir echo en HTML, pero hoy en día están obsoletas y hay que asegurarse de que si las portamos a otro sistema éste las tenga habilitadas en la configuración.



Script tags: Se crearon para que los editores HTML que no estuvieran preparados pudieran ignorar PHPO del mismo modo que ignoraban JavaScript.



ASP tags: nadie sabe muy bien por qué se crearon, pero ahí están.



Hoy en día, todas las formas que no son standard tags se consideran obsoletas (deprecated) y no se deben utilizar.

La anatomía de un script PHP es un conjunto de instrucciones o statements que, salvo ciertas excepciones, deben terminar con ; (punto y coma). Una excepción a esta regla sería, por ejemplo, la última instrucción antes del cierre de la etiqueta de php.



Para añadir comentarios a un script PHP, podemos utilizar varias formas:



Es posible utilizar todos los espacios en blanco o tabuladores que requiramos para organizar nuestro código, siempre que no los utilizamos entre palabras reservadas (whi le, for each), nombres de variables ($nombre variable) o etiquetas de entrada o salida (<? php).

Variables



Como ya se ha adelantado, la forma de declarar variables en PHP es mediante el símbolo $ antes del nombre de variable. Además, hay que tener en cuenta las siguientes particularidades al declarar nombres de variables:

  • Son case-sensitive
  • Los nombres de variable no pueden empezar por un número.
  • Los nombres de variable no pueden contener espacios.
  • $this está reservado y no se puede utilizar como nombre de variable. hablaremos de ello en programación orientada a objetos con PHP.
  • No es necesario definir el tipo de variable, PHP hace el cast automáticamente.


Esta última particularidad tiene sus ventajas pero también sus inconvenientes, ya que, por ejemplo, 0, false y un string vacío son considerados iguales en una doble comparación (==), pero no así en una comparación idéntica (===).

Por este motivo, se recomienda usar siempre comparaciones idénticas, que tienen en cuenta el tipo de dato.

Estructuras condicionales



Las estructuras condicionales nos permiten cambiar la ejecución del script en función de una o más condiciones:



Existe además la posibilidad de anidar varias sentencias if, aunque no es una buena práctica porque se pierde la inteligibilidad del código.

No obstante, desde la versión 5.3 es posible y recomendable utilizar el operador ternario y todas sus variantes:



Cuando tenemos varias sentencias anidadas, es una buena práctica sustituirlas por una estructura de tipo switch:



Nota: En las sentencias switch, se podría evitar el break devolviendo en cada case el valor o el echo con un return.

Bucles de control



Los bucles de control nos permiten ejecutar trozos de código de forma iterativa varias veces.

Los más simples son while y do while, cuya diferencia radica en cuándo se realiza la operación (antes de la comprobación en el caso de do while o después en el caso de while):



El bucle for nos permite realizar iteraciones más precisas que los while, además de facilitar la lectura del código y evitar errores de loop en nuestro código. El bucle foreach es un tipo especial de for que nos permite recorrer arrays sin necesidad de utilizar un índice:



En todos los bucles, es posible interrumpir el bucle mediante el uso del comando break o utilizar el comando continue para indicar cuándo seguir con la iteración:



Funciones



La clave de la programación en PHP esta, sin duda, en el uso de funciones: la capacidad de encapsular cualquier trozo de código y luego llamarlo en cualquier momento desde otra parte del código.

En este capítulo veremos como escribir funciones, mientas que en posteriores unidades veremos cómo usarlas.

La sintaxis básica de la funciones es la siguiente:



Acerca de los nombres de funciones en PHP las reglas son las siguientes:

  • no son case-sensitive (al igual que los identificadores tipo echo o similar)
  • solo pueden contener letras, números o el caracter guion bajo.
  • no pueden empezar por un número


También es posible devolver más de un valor con funciones mediante el uso de arrays:



Ámbito de variables



En PHP nos encontramos tres posibles ámbitos para cada variable: global, function o class (este último lo veremos en programación orientada a objetos).

El ámbito global está disponible en todas las partes de un script: si declaramos o asignamos una variable fuera de una función, esa variable tendrá ámbito global.

Sin embargo, cada vez que entramos en una función, PHP crea un nuevo ámbito vacío, de modo que las variables que se creen dentro de la función tendrán ámbito function y solo estarán disponibles dentro de ella.

Por último, para acceder a una variable de ámbito global dentro de una función, podremos hacerlo de tres maneras diferentes:
  • "importando" la variable dentro de la función con la sentencia global
  • usando el array de globals $_GLOBALS
  • "pasando" argumentos a la función

El siguiente código muestra ejemplos de los diferentes tipos de ámbitos y de cómo acceder a las variables:



Conclusiones



Esta sería una primera introducción a los elementos básicos de PHP. En el siguiente apartado, nos centraremos en el uso de arrays, si bien ya se han ido introduciendo poco a poco aquí.

No obstante, antes de continuar, se proponen una serie de ejercicios que ayuden a la comprensión de los conceptos adquiridos.

Ejercicios propuestos



  1. Desarrolla un juego web para jugar a pares o nones contra el ordenador con las siguientes especificaciones:
    1. Tú serás pares y debes poder elegir del 1 al 5 en cada tirada
    2. La máquina será nones y elegirá un número del 1 al 5 en cada tirada
    3. Un texto debe mostrar el número que tú elegiste, el que eligió la máquina y quién ha ganado.

  2. Desarrolla un juego web cuyo objetivo es una diana horizontal para acertar en el medio de un control de tipo deslizante con las siguientes especificaciones:
    1. El control debe tener un ancho del 50% de la pantalla.
    2. Al cambiar el valor del control, la página debe devolver el valor conseguido entre 0 y 100.
    3. Modifica ahora el valor devuelto con las siguientes especificaciones:
      • Si es 50, debe mostrar el valor y el texto en color rojo: “¡Enhorabuena, acertaste!”
      • Si está entre 40 y 60, debe mostrar el valor y el texto en color naranja: “Ha estado cerca, prueba otra vez”.
      • En cualquier otro caso, debe mostrar el valor en conseguido en color verde.
    4. PLUS: Modifica ahora el juego para que el deslizador permita seleccionar un nivel de juego entre 1 y 3. Al seleccionar un nivel, el ancho del deslizador debe ser, respectivamente, de 10%, 50% (valor por defecto) y 100%.


Publicado el 21 de Octubre de 2021

phpvariablesbuclesarrays