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
- Desarrolla un juego web para jugar a pares o nones contra el ordenador con las siguientes especificaciones:
- Tú serás pares y debes poder elegir del 1 al 5 en cada tirada
- La máquina será nones y elegirá un número del 1 al 5 en cada tirada
- Un texto debe mostrar el número que tú elegiste, el que eligió la máquina y quién ha ganado.
- PLUS: Modifica ahora el juego para que el usuario pueda elegir si es pares o nones.
- 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:
- El control debe tener un ancho del 50% de la pantalla.
- Al cambiar el valor del control, la página debe devolver el valor conseguido entre 0 y 100.
- 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.
- 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%.