PHP

PHP es el acrónimo de “PHP: Hipertext Preprocessor” (PHP: Preprocesador de Hipertexto). Se trata de un lenguaje de alto nivel, interpretado, de ‘Código Abierto’, especialmente diseñado para el desarrollo de páginas web, que puede ser embebido en páginas HTML y que se ejecuta del lado servidor.

Su sintaxis, muy parecida a C, Java o Perl hace que sea fácil de aprender y permita efectuar desarrollos web dinámicos de modo sencillo y rápido. Además ofrece gran variedad de características avanzadas para los programadores profesionales.
Aunque se trata de un lenguaje multiplataforma, su uso ha sido mucho más extendido en entornos Linux.

Presentamos a continuación una breve iniciación al lenguaje PHP. Para una completa referencia al mismo, así como más información sobre sus funciones y características, consulte en la web de PHP.net.

¿Qué se puede programar en PHP?

Dado que PHP es un lenguaje de script específico para el desarrollo de aplicaciones web dinámicas, podrá efectuar con el mismo todas las aplicaciones que podría efectuar con un script CGI: toma de datos de formularios, generación de páginas web dinámicas, etc.

Sin embargo, con PHP dispone de muchas más posibilidades:

  • Programación orientada a objetos.
  • Múltiples librerías disponibles.
  • Soporte para acceso a distintos tipos de bases de datos (MySQL, PostgreSQL, …), etc.

Y no solo eso. Debido a la extensión de este lenguaje entre los programadores de aplicaciones web, puede encontrar por Internet numerosos desarrollos que podrá incorporar con muy poco esfuerzo a su Plan de Alojamiento Web, con lo que podrá dar a su web nuevas funcionalidades para atraer a sus visitantes.

Un primer ejemplo en PHP

Analicemos a continuación el código de un ejemplo clásico inicial en PHP, que podría incluirse en un archivo de nombre ‘ejemplo.php’:

<html>
   <head>
       <title>Ejemplo PHP</title>
   </head>
   <body>

   <?php
   echo "Mi primer script PHP!" ;
   ?>

   </body>
</html>

Como puede observarse, se trata de una estructura de archivo HTML que incluye embebido cierto código de script, identificado por las etiquetas de inicio y finalización <?php ... ?>. Todo lo incluido entre dichas marcas se entiende se trata de código PHP. Podrá embeber dentro de un mismo archivo todos los fragmentos PHP que necesite, o incluso solo insertar código PHP en el archivo.

En este ejemplo, el servidor ejecuta el código php incluido en el archivo, y devuelve como resultado la página web con el código intermedio interpretado, mostrando una página con el texto “Mi primer script PHP!”.

Puede copiar el texto del ejemplo en un archivo de extensión .php y ejecutarlo en su Plan de Alojamiento Linux para comprobar el resultado.

Breve referencia al lenguaje

De modo escueto, le presentamos a continuación una referencia rápida al lenguaje para que le sirva de guía y pueda asimilar posteriormente con más sencillez el resto de características que encuentre sobre el mismo en manuales más extensos.

Algo de sintaxis básica

  • Señalización del código PHP. Cuando escriba código PHP, solo debe recordar que éste debe ir dentro de las etiquetas de inicio <?php y fin de código ?>. Recuerde asimismo que los archivos con código php deben tener extensión .php, para que el servidor sepa que debe interpretarlos con dicho lenguaje.
  • Separador de instrucción. Para indicar al intérprete PHP que una instrucción ha acabado y que empieza la siguiente, se utiliza (igual que en C o C++) el separador punto y coma ‘;’.
  • Comentarios. Todo buen código debe estar comentado para explicar su lógica y funcionamiento. En PHP podrá usar comentarios similares a los utilizados en C, C++ o la interfaz de comandos de UNIX:
    • Comentarios con doble barra   //
    • Comentarios multilínea entre las etiquetas   /*  y  */
    • Comentarios con almohadilla  #

Veamos un ejemplo para mostrar los puntos anteriores sobre la sintaxis básica:

<?php

/* Ejemplo de script PHP comentado.
El comentario puede tener varias líneas con este formato */

//Iniciamos el código
echo "Ejemplo de sintaxis básica"; #Usamos el separador de instrucción

?>

Tipos, variables y constantes

Para poder programar un aplicativo se suelen utilizar variables y constantes para almacenar datos intermedios que permitan obtener un resultado para después visualizarlo o almacenarlo.

Las variables se definen utilizando el signo de dólar seguido de un nombre (sensible a mayúsculas y minúsculas) normalmente identificativo de lo que va a contener dicha variable.

En el caso de las constantes, solo almacenan (como su propio nombre indica) un valor concreto. Se trata de un identificador para referirnos a un valor simple. El intérprete de PHP sustituye cada aparición de dicho identificador por su valor. Su uso suele ser habitual al inicio de una aplicación cuando un resultado puede depender de un valor y no queremos cambiar cada vez cada parte del código donde dicho valor aparece. Una definición de una constante nos permite con una sola línea, observar nuevos resultados cambiando únicamente el valor asignado a la constante en su definición, en vez efectuar un cambio por cada una de sus apariciones si no la hubiéramos definido. También facilitan mucho la legibilidad del código.

Una constante se define con el comando

define ("NOMBRE", VALOR)

donde NOMBRE especifica el nombre que vamos a dar a la constante, y VALOR, el valor simple (boolean, integer, float o string) que queremos asignarle.

Tanto variables como constantes deben pertenecer a un tipo de datos que identifica cómo se va a usar dicho valor y el modo de actuar con el mismo.

Los tipos de datos principales que se manipulan en PHP son:

  • Boolean: valor verdadero o falso.
  • Integer: valor numérico entero.
  • Float: valor numérico en coma flotante.
  • String: cadena de texto.
  • Array: tipo compuesto en forma de matriz que agrupa varios valores de otros tipos, en forma de lista, tabla asociativa, etc.
  • Object: tipo objeto.

El tipo de una variable no suele declararse explícitamente en el código PHP. Es en tiempo de compilación cuando el intérprete de PHP asigna un tipo a la variable dependiendo del contexto en el que es usada.

Ejemplo de uso de variables y constantes:

<?php

/* Ejemplo de uso de variables y constantes */

define ("SALUDO", "Hola a todos!");
echo SALUDO;   //Muestra "Hola a todos!"

//Asignamos 'Esto es un texto' a la variable $texto
$texto = 'Esto es un texto';

//Asignamos el valor 25 a la variable $num
$num = 25

//Mostramos los valores almacenados
echo $texto;
echo $num;

?>

Expresiones

Las expresiones son la base de casi cualquier lenguaje de programación. En esencia, una expresión no es más que una parte de código que toma un valor, y por tanto, aparecen en casi cualquier porción de texto escrita.

Las formas más básicas de expresiones son las asignaciones de constantes y variables, pero al efectuar una asignación puedes emplear valores más complejos, como las funciones (que no son más que expresiones que toman el valor que devuelven).

Otro tipo de expresiones son las comparaciones, que se evalúan a verdadero (TRUE, constante de valor 1) o falso (FALSE, constante de valor 0). PHP soporta > (mayor que), >= (mayor o igual que), == (igual que), != (distinto), < (menor que) y <= (menor o igual que). Estas expresiones se usan frecuentemente dentro de instrucciones condicionales como la instrucción if .

También encontrará en PHP otros tipos de expresiones como el operador condicional ternario, expresiones de combinación de operador-asignación, el autoincremento, etc.

Estructuras de control

Un script en PHP está compuesto por una serie de sentencias, que pueden ser desde una asignación, una sentencia condicional, un bucle, una función, una sentencia que no realiza ninguna acción, hasta un grupo de sentencias que se encuadran dentro de unas llaves {..}. Cada sentencia debe ir separada, como indicamos con anterioridad, con el carácter punto y coma ‘;’. Vamos a enumerar en este punto la sintaxis de algunos tipos de sentencias importantes.

if..else..elseif

Permite la ejecución condicional de fragmentos de código. Su sintaxis básica es la siguiente:

if (expr)
   sentencia
[else/elseif
   sentencia]

Lo que significa que si, tras evaluar ‘expr’ devuelve un resultado verdadero (TRUE), se ejecutará lo indicado en la ‘sentencia’.
Opcionalmente, puede añadirse la opción else a la estructura condicional if, indicando que en caso de que no se cumpla ‘expr’ se ejecute lo indicado en la sentencia tras el else. También puede indicarse de manera opcional la opción elseif, que no es más que una forma compacta de indicar una nueva sentencia if tras un else.
Las sentencias if son anidables.

Ejemplo:

<?php

if ( $a > $b ) {
     print "a es mayor que b" ;
  } elseif ( $a == $b ) {
     print "a es igual que b" ;
  } else {
     print "a es menor que b" ;
  }

?>

while

Se trata de una sentencia tipo bucle. Su sintaxis básica es la siguiente:

while (expr)
   sentencia

Indica que se ejecute lo indicado en ‘sentencia’ mientras se cumpla a cierto la condición indicada en ‘expr’. Normalmente en ‘expr’ se incluye algún condicionante que es modificado en la zona de sentencia, de manera que en cada iteración se vuelve a evaluar el resultado hasta que un cambio en el mismo provoca una evaluación a false, y por tanto, la salida del bucle.
También las sentencias while son anidables.

Ejemplo:

<?php

$indice = 1;
while ( $indice < 10 ){
   print $indice;
   $indice = $indice + 1;
}
print $indice;

?>

for

Es otra sentencia tipo bucle. Al igual que el while, es similar a la misma sentencia del lenguaje C. Su sintaxis básica es la siguiente:

for (expr1; expr2; expr3)
   sentencia

La primera expresión ‘expr1’ se ejecuta siempre y una única vez al principio del bucle.
Al comienzo de cada iteración, se evalúa ‘expr2’. Si se el resultado es verdadero el bucle continúa y se ejecuta sentencia, y si es falso, se sale del bucle.
Al final de cada iteración se ejecuta ‘expr3’.

Realmente, puede usar while o for para un bucle según su decisión, dado que se puede escribir código que ejecute el mismo resultado usando uno u otro bucle indistintamente.

Ejemplo:

<?php

for ($i = 1; $i < 10; $i = $i + 1)
   print $i;

print $i;

?>

Funciones

Una función no es más que un conjunto de sentencias que devuelven un resultado tras su ejecución. Dentro de estas sentencias pueden incorporarse llamadas a otras funciones.
El resultado depende normalmente de una serie de valores (parámetros) que se facilitan en la llamada a la función. En esencia, es un modo de evitar la repetición de código y facilitar por tanto la programación.
Las funciones pueden ser definidas por el usuario, o bien pueden pertenecer a una serie de funciones ya predefinidas dentro de librerías en el lenguaje, que permiten hacer uso de muchas utilidades que facilitan la labor de los programadores.

Sintaxis básica:

function nombre (argumento1, argumento2, ..., argumentoN)
{
   sentencias;
   return valor;
}

Ejemplo:

<?php

//Definimos la función de conversión de pesetas a euros
function convertir_a_euros ($pesetas)
{
   $euros = $pesetas / 166.386;
   return $euros;
}

$resultado = convertir_a_euros (2500); //Llamamos a la función
print $resultado;

?>

Otras características

Existen otras muchas características incorporadas en PHP: Autentificación HTTP, manejo de cookies, uso de archivos, seguridad, etc.

Uno de los puntos fuertes de PHP es su facilidad de uso para desarrollos con bases de datos. Dispone de más información al respecto en nuestro apartado de acceso a bases de datos mediante PHP.

Dado que PHP es un lenguaje que sigue evolucionando e incorporando novedades, es importante que tenga presente la versión con la que vaya a trabajar en nuestros servidores. Para conocer los detalles sobre la versión e información sobre la misma en su servidor de trabajo, puede hacer uso de la función interna phpinfo, que le mostrará información sobre el estado actual de PHP en el servidor donde resida su plan de alojamiento web. Para ello, simplemente use un archivo .php con el siguiente código:

<?php

phpinfo();

?>

Más información

En Internet podrá encontrar manuales más completos y bibliografía sobre este lenguaje de programación.

Le presentamos a continuación algunos enlaces de interés que pueden serle de utilidad:

PHP.net Sitio oficial de PHP en Internet, donde encontrará un completo manual actualizado en castellano, además de más información y ejemplos.
Desarrolloweb.com Sitio web sobre programación con apartado dedicado a PHP.
Programacion.com Web sobre programación con un apartado dedicado a esta tecnología.
PHPBuilder.com Lugar de interés para los desarrolladores en este lenguaje..
ResourceIndex.com Directorio de recursos con sección dedicada a enlaces sobre PHP.