Contenido

Introducción

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.

Ver ejemplo de código

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.

Ver ejemplo de código

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

Ver ejemplo de código

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

Ver ejemplo de código

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.

Ver ejemplo de código

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

Ver ejemplo de código

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:

Ver ejemplo de código

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:

Ver ejemplo de código

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

Ver ejemplo de código

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):

Ver ejemplo de código

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:

Ver ejemplo de código

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:

Ver ejemplo de código

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:

Ver ejemplo de código

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:

Ver ejemplo de código

Á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:

Ver ejemplo de código

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.
    4. PLUS: Modifica ahora el juego para que el usuario pueda elegir si es pares o nones.
  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%.