PHP: ¿Qué es y para qué sirve este lenguaje de programación?

17min

En el mundo de la programación web, PHP es una pieza clave que permite que las páginas web cobren vida. Este lenguaje desempeña un papel esencial en la creación de páginas web interactivas y dinámicas.

En este artículo, explicaremos los fundamentos básicos sobre PHP y cómo instalarlo en diferentes sistemas operativos (Windows, Linux, macOS). Prepárate para descubrir cómo este lenguaje ha transformado la forma en que interactuamos online.

Índice

¿Qué es PHP?

PHP (PHP: Hypertext Preprocessor) es un lenguaje de programación de código abierto ampliamente utilizado en el desarrollo web. En otras palabras, es la tecnología que permite crear sitios web dinámicos, donde el contenido puede cambiar según la interacción del usuario.

Es uno de los lenguajes de programación más populares del mundo, y se utiliza para crear una amplia gama de aplicaciones web, desde pequeñas páginas personales hasta grandes sitios web corporativos. Su flexibilidad y facilidad de uso lo han convertido en una opción preferida para construir aplicaciones web dinámicas y sitios interactivos.

¿Para qué sirve PHP?

PHP es un lenguaje de programación ampliamente versátil que se utiliza para una variedad de aplicaciones web y tareas de desarrollo. Algunas de las principales áreas en las que se puede programar utilizando PHP incluyen:

  • Desarrollo Web: PHP es ampliamente conocido por su uso en el desarrollo web. Puedes usarlo para crear sitios web dinámicos, aplicaciones web, blogs, foros, sistemas de gestión de contenidos (CMS) como WordPress y Joomla, y plataformas de ecommerce.
  • Manipulación de Bases de Datos: PHP se integra bien con bases de datos como MySQL, PostgreSQL, MongoDB y otros. Puedes utilizarlo para conectarte a bases de datos, realizar consultas, insertar, actualizar y eliminar datos, y generar informes basados en datos almacenados en la base de datos.
  • Procesamiento de Formularios: PHP se utiliza comúnmente para procesar datos de formularios HTML. Puedes crear formularios de contacto, formularios de registro de usuario y formularios de búsqueda, y luego procesar la información enviada por los usuarios.
  • Generación de Contenido Dinámico: PHP te permite generar contenido web dinámico. Puedes personalizar la experiencia del usuario mostrando contenido diferente según las preferencias del usuario, el estado del inicio de sesión y otros factores.
  • APIs Web: PHP se usa para construir y consumir APIs (Interfaces de Programación de Aplicaciones) web. Esto permite la integración con servicios externos, como redes sociales, sistemas de pago y plataformas de terceros.
  • Manipulación de Archivos y Directorios: Puedes utilizar PHP para crear, leer, escribir y eliminar archivos y directorios en el servidor, lo que es útil para gestionar archivos adjuntos, imágenes y otros recursos.
  • Sistemas de Autenticación: PHP se utiliza para implementar sistemas de autenticación y autorización, lo que garantiza que solo los usuarios autorizados tengan acceso a ciertas partes de una aplicación web.
  • Automatización de Tareas: PHP puede automatizar tareas repetitivas del lado del servidor, como copias de seguridad, generación de informes programados y envío de correos electrónicos automatizados.

PHP vs Javascript: ¿En qué se diferencian?

PHP y JavaScript son dos de los lenguajes de programación más utilizados para el desarrollo web. Sin embargo, existen algunas diferencias importantes de funcionamiento y uso entre los dos lenguajes.

Principales características de PHP

  • Tipo de lenguaje: PHP es un lenguaje del lado del servidor. Esto significa que se ejecuta en el servidor web y genera código HTML que se envía al navegador del usuario. El navegador recibe contenido estático, sin acceso directo al código fuente PHP.
  • Uso principal: Se utiliza principalmente para generar contenido dinámico en el servidor, como páginas web, formularios y manejo de bases de datos. Es ideal para tareas que requieren acceso a bases de datos y procesamiento en el servidor antes de enviar contenido al navegador.
  • Sintaxis: Tiene una sintaxis similar a otros lenguajes de programación como C y Perl. Se incorpora directamente en el código HTML utilizando etiquetas especiales ?php ?.
  • Ejecución: Se ejecuta en el servidor antes de que se entregue una página web al navegador del usuario. El resultado (generalmente HTML) se envía al navegador.
  • Seguridad: Al ser ejecutado en el servidor, el código PHP no es visible para los usuarios. Sin embargo, se deben tomar precauciones para evitar vulnerabilidades en el código.

Principales características de JavaScript

  • Tipo de lenguaje: JavaScript es un lenguaje del lado del cliente. Se ejecuta directamente en el navegador web del usuario y puede interactuar con la página web después de que se haya cargado.
  • Uso principal: Se utiliza para mejorar la interacción en tiempo real en las páginas web, como validaciones de formularios, efectos visuales, actualizaciones de contenido sin recargar la página y comunicación con servidores web a través de AJAX.
  • Sintaxis: Tiene una sintaxis más cercana a C y C++. Se incluye en el HTML utilizando etiquetas script.
  • Ejecución: Se ejecuta en el navegador del usuario después de que se haya cargado la página web. Puede modificar el contenido de la página sin necesidad de volver a cargarla.
  • Seguridad: Como se ejecuta en el navegador del usuario, el código JavaScript es visible para cualquiera que pueda ver el código fuente de la página. Esto requiere precauciones adicionales para proteger datos sensibles.

También tenemos un artículo donde comparamos PHP vs Python.

¿Cómo instalar PHP?

La instalación de PHP puede variar según el sistema operativo que utilices. A continuación, te proporcionaremos una visión general de cómo instalar PHP en los sistemas operativos más comunes: Windows, macOS y Linux.

Instalar PHP en Windows

  • XAMPP o WampServer: Estas son soluciones todo en uno que incluyen PHP, Apache y MySQL en un solo paquete. Descarga e instala XAMPP (https://www.apachefriends.org/index.html) o WampServer (https://www.wampserver.com/en/) según tus preferencias.
  • Composer (opcional): Si planeas desarrollar aplicaciones PHP más complejas, considera instalar Composer (https://getcomposer.org/), una herramienta de gestión de dependencias para PHP.

Instalar PHP en macOS

PHP ya está instalado por defecto en los sistemas macOS. Tan solo necesitarás acceder al archivo de configuración a través de /private/etc/apache/httpd.conf y eliminar los símbolos ‘#’ de las siguientes líneas.

# LoadModule php7_module libexec/httpd/libphp7.so
# AddModule mod_php7.c

Sin embargo, en caso de que necesitaras instalarlo manualmente:

  • Homebrew: Si tienes Homebrew instalado (un gestor de paquetes para macOS), puedes instalar PHP con el siguiente comando: brew install php.
  • MAMP: Al igual que XAMPP para Windows, MAMP (https://www.mamp.info/en/) es una solución todo en uno para macOS que incluye PHP, Apache y MySQL.

Instalar PHP en Linux

  1. Terminal: Abre la terminal y actualiza tu lista de paquetes con los siguientes comandos:
    sudo apt update
    sudo apt upgrade
  2. Instalación de PHP: Utiliza el siguiente comando para instalar PHP y algunos módulos adicionales comunes:
    sudo apt install php libapache2-mod-php
  3. Verificación de la Instalación: Puedes verificar si PHP está funcionando correctamente con el siguiente comando:
    php -v
  4. Configuración Adicional: Según tus necesidades, puedes realizar configuraciones adicionales en el archivo de configuración php.ini.

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.

Sintaxis básica de PHP

A continuación y de modo escueto, le presentamos 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.

  • 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 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  #

Ejemplo de 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

?>

Variables, constantes y tipos de datos

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 PHP

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 (if, for, while)

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

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

<?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 utiliza para crear bucles basados en una condición. 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 while:

<?php

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

?>

for

Es otra sentencia tipo bucle. Es ideal para realizar bucles con un número fijo de repeticiones. 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 for:

<?php

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

print $i;

?>

Funciones y su uso

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;

?>

¿Cómo ver qué versión de PHP tengo instalada?

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 sobre PHP

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.

Conclusiones sobre PHP

En este artículo, hemos explorado qué es PHP, su papel vital en la programación web y cómo se ha convertido en una herramienta esencial para desarrolladores web o personas que quieran crear una página web en todo el mundo.

Cuando se trata de dominios y hosting web, PHP desempeña un papel crítico. La mayoría de servidores ofrecen soporte para PHP, lo que permite a los propietarios de sitios web aprovechar su potencial. Ya sea para crear una tienda online, foros interactivos o aplicaciones web personalizadas, PHP está en el núcleo de la mayoría de las experiencias online que disfrutamos hoy en día.

Fernán García de Zúñiga

Productos relacionados: