duduromeroa.com

Programación web

Sintaxis PHP: programación para eventos del lado del servidor


www.duduromeroa.com, animación, lector, gif

Por Eduardo J. Romero Andrade

Guayaquil, Ecuador

Contacto duduromeroa@gmail.com

#PHP, #ladoServidor, #Guayaquil, #duduromeroa


Puedes hallar reseñas de otros lenguajes informáticos en este vínculo.




PHP: el proveedor desde el otro lado del río

Imagine el lector siendo un explorador a mitad de un bosque, preparándose antes de caer la noche.

Junto a un tranquilo y ancho río, usted alista su carpa y enciende la leña. Lo necesario lo obtendrá de modo local, con sus propios implementos; así, más o menos, funciona el Internet. Mucha de la información u otros recursos que usted necesitará podría hallarlos en su propio morral digital; es decir, en el navegador que le conecta a la Internet.

Sin embargo, usted no está solo. Allá, al otro lado del río, un colaborador está atento para identificar si su entorno (localmente) le da todo lo que necesite. Ese colaborador le sirve a usted; y usted es un cliente para él.

En el contexto de la web, ese colaborador es un computador-servidor a distancia de usted, en remoto. La web esta formada por cientos de esos servidores lejanos en distancia pero cercanos a nosotros gracias a la conexión dada por la Internet.

De lo que hablaré aquí es de la mutua utilidad entre ambas entidades (local-cliente, remoto-proveedor) cuya conexión puede realizarse con el lenguaje que revisaremos aquí, PHP.

Qué es PHP y qué resuelve

El preprocesador de hipertexto (PHP, en inglés) inició en el año 1995 como un codificador para diseñar accesos seguros a sistemas (por ejemplo, con contraseñas) y desde un computador-cliente hacia un computador servidor-proveedor. El primer creador de la sintaxis de PHP fue Rasmus Lerdorf (Groelandia, 1968).

Luego de ser un lenguaje de desarrollo colectivo, en el año 2000 la versión PHP 4.0 se universalizó como tecnología de desarrollo profesional para tecnologías web (Tatroe, MacIntyre, 2020, p. 43) pero complementado con los lenguajes HTML, CSS, Javascript y otros. A enero del 2025 la versión actual de PHP es la 8.4.3.

Puedes hallar una amplia reseña del lenguaje Javascript en esta sección.



En resumen, PHP es un tradicional lenguaje de programación que activa la comunicación entre una sistema local (por ejemplo, nuestro computador conectado a Internet) a un computador-proveedor remoto. Además de permitir diseñar web interactivas, automatizar actualizaciones, validar datos, ingresos y contraseñas, todo eso en remoto, desde un servidor que acepta e interpreta PHP.

Cómo empezar con PHP

Primero necesitamos dos tipos de equipos: un computador intérprete y proveedor datos (el computador servidor) y otro que los reciba (el computador cliente), es decir, que nos represente como usuarios.

Podemos contratar un servicio que nos provea de un sistema servidor (junto con uno de alojamiento o hosting), pero también podemos recrear un servidor desde nuestro propio computador. En sistemas Windows, mediante una virtualización (donde ese servidor es recreado). Softwares útiles para eso son Virtual Box. Otro muy usado (para computadores iMac también) es XAMPP. Ambos softwares crean un área de datos en el disco duro dedicada a consumir e interpretar la sintaxis de lenguajes de conexión entre servidores, como lo es PHP.

Puedes hallar videotutoriales que muestren cómo instalar y configurar un servidor intérprete de PHP (según el sistema operativo de tus equipos). Busca con las palabras clave: instalar servidor PHP, instalar un servidor en mi computador o instalar intérprete PHP.


Ya que por ahora solo necesito un software intérprete de PHP, he instalado en mi sistema iMac el sencillo software SimplePHPServer. En resumen, ese software recrea un servidor (en mi propio computador) y ejecuta la sintaxis PHP.



Acceder desde el servidor local, o en la ruta localhost:

Una vez instalado nuestro servidor-intérprete de PHP, nos dará una única carpeta donde guardaremos (en el servidor local) todos los archivos necesarios para nuestro desarrollo web. Con todos los archivos me refiero a aquellos con extensión .html, .css, .php, entre otros.

Todos esos archivos podrán ser accedidos y mostrados desde el navegador. Pero ATENCIÓN, solo los archivos con extensión .PHP pemitirán interpretar sintaxis PHP y siempre que cuenten con su respectiva sintaxis de apertura y cierre (<?php //codigo ?>) por ejemplo, ejercicio.php.

En HTML y PHP. Archivo ejercicio.php

<html>
     <head>
     <title>Sintax HTML</title> 
     </head>
<body>
// <!-- Inicia cuerpo de sintaxis HTML -->

// Sintaxis PHP insertada en HTML 
// Comando echo muestra el texto insertado entre comillas y con cierre de punto y coma
     <?php echo "Encebollado y pan"; ?>

// <!-- Cierra cuerpo de sintaxis HTML -->
</body>
</html>

Usando la ruta correcta de nuestros archivos de desarrollo web

Antes de que el servidor muestre el resultado de sintaxis como las de HTML o PHP, debemos tener bien clara la ruta de ubicación desde el campo dirección en el navegador. Si el nombre es incorrecto (ejjercicio.php) o incompleto (localhost:8/ejercicio) el archivo no se mostrará.

¿Por qué el archivo finaliza en .php?
Un archivo que deba interpretar sintaxis PHP desde el servidor debe finalizar con .php. El potencial de esa extensión es que permite insertar código HTML junto con PHP, pero únicamente ejecutará sintaxis PHP. En otras palabras, si el archivo cuenta con sintaxis HTML y la extensión .HTML, el servidor mostrará esa sintaxis. Pero si se desea que interprete sintaxis PHP, el archivo deberá contar con la extensión .PHP



Ejemplo de URL de ruta para acceder al archivo .php en el servidor local, diseñado por duduromeroa.com, Guayaquil, Ecuador.
Imagen Ejemplo de URL de ruta para acceder al archivo .php en el servidor local Gráficos: duduromeroa.com

Por lo tanto, teniendo al ruta localhost:8000/ejercicio.php la página mostrará:

Ejemplo de URL de ruta para acceder al archivo .php en el servidor local, diseñado por duduromeroa.com, Guayaquil, Ecuador.
Imagen Ejemplo de URL de ruta para acceder al archivo .php en el servidor local Gráficos: duduromeroa.com

La ruta de arriba dará error si es:

  • https//:localhost:8000/archivo.php
  • https://localhost/8000/ejercicio.php
  • ocalhost/8000/ejercicio.php
  • ocalhost:8000/ejercicio.php
  • localhost:8000:ejercicio.php
  • La ruta CORRECTA es (sin el punto inicial):
  • localhost:8000/archivo.php
  • O, si es un archivo .html, la ruta correcta deberá ser:
  • localhost:8000/archivo.html

Ejemplo de envio de datos en formulario

Aquí se juntan sintaxis-conceptos de PHP como el if(){} y los métodos $_POST[] y $_SERVER; y también elementos HTML como <form>, explicados al detalle en las siguientes secciones.

<html>
<body>

// <!-- Abre PHP insertado en HTML -->
<?php 
     // Condicional en PHP
     // Si es verdad que el campo no esta vacio (o, si tiene dato ingresado) 
          if(!empty($_POST['colorcito'])) {
     // Aplicar comando echo e invocando método {$_POST[]}
          echo "Mi mejor color es {$_POST['colorcito']}."; } 
     // No hay más ejecuciones si el campo esta vacio
     // Cierra PHP
?>

// <!-- HTML elemento formulario-->
<form action="
     <?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
     Mi color favorito: 
          <input type="text" name="colorcito"/>
          <input type="submit"/> 
</form>

</body>
</html>

Acceso a base de datos

Para Tatroe y MacIntyre (2020) PHP puede generar conexión con sintaxis de bases de datos más populares, como MySQL, y también permite aplicar sintaxis SQL para consulta de bases de datos en tiempo real. Los autores ejemplifican con un código esa conexión:

En HTML y PHP. Conexión a base de datos desde HTML con PHP insertado

//<!-- Ejemplo de conexión con base de datos -->
<?php
// Variable aloja objeto mysqli y valores de servidor, contraseña, etc...
$db = new mysqli("localhost", "petermac", "password", "library");

// Condicional PHP: si conexión da error
if ($db->connect_error) {
die("Connect Error ({$db->connect_errno}) {$db->connect_error}"); }

// Variable aloja expresiones de consulta SQL
$sql = "SELECT * FROM nombreTabla WHERE available = 1 ORDER BY columna_dato";
$result = $db->query($sql);
?>


<html>
<body>
// <!-- Elemento tabla para mostrar datos -->
<table cellSpacing="2" cellPadding="6" align="center" border="1"> 
     // <!-- (table row) -->
     <tr>
     <td colspan="4">
          <h3 align="center">Titulo texto</h3> </td>
     </tr>
     <tr>
     //  <!-- Elemento celda de tabla -->
     <td align="center">columna_datoA </td>
     <td align="center">columna_datoB </td>
     <td align="center">columna_datoC </td>
     //  </tr>

     //  <!-- Bucle PHP -->
     //  <!-- Variable $row -->
     <?php while ($row = $result->fetch_assoc()) { ?> 

          // <!-- Elemento (table row) fila de tabla -->
     <tr>
          <td>
               <?php echo stripslashes($row['columna_datoA']); ?> </td>
          <td align="center">
               <?php echo $row['columna_datoB']; ?> </td>
          <td>
               <?php echo $row['columna_datoC']; ?> </td>
     </tr>
     <?php } ?> 
          //  <!--  La sintaxis PHP cierra con un corchete -->
</table>

</body>
</html>

Acceder a gráficos desde PHP

Para Tatroe y MacIntyre (2020, p. 55) es posible con PHP crear y alterar imágenes en tiempo real (es decir, volverlas dinámicas y no solo estáticas) con los parámetros GET/POST y mediante las funciones GD (GD -graphic draw- functions), que es una gran librería de código para alterar imágenes (extensiones JPEG, GIF, PNG, SWF, TIFF) desde el navegador.

REVISIÓN GENERAL DE SINTAXIS PHP

También llamado 'revisión de núcleo' o de su 'estructura léxica'.

Para iniciar, una sentencia es un conjunto de palabras claves y otras sintaxis que busca alojar, declarar (nombrar) o ejecutar algo. Toda sentencia en PHP debe finalizar con un punto y coma. De esa forma se diferencia una sentencia de otra sentencia.

Insensiblidad y sensibilidad ante caracteres altos y bajos

Una regla principal es que PHP leerá los nombres de las clases sea cual sea sus mayúsculas y minúsculas; que el nombre de esas clases serán insensitivas ante mayúsculas o minúsculas.

En cambio, los nombres de las variables sí serán sensibles a los caracteres en mayúsculas y minúsculas. Es decir, para PHP dos variables con el mismo nombre (pero con diferencias en sus mayúsculas y minúsculas) los leerá diferente:

Así mismo, sentencias de control (como IF), y bloques de código de funciones no requieren finalizar con punto y coma. Atención: un archivo .php debe tener su etiqueta de apertura y de cierre: <?php //código... ?>. Los comentarios en el código PHP (en la forma //comentario) no serán interpretados por el sistema

Archivo .php

<?php
// Ejemplo de sentencia que DEBE finalizar con punto y coma
echo("Eres perla..."); 

// Para PHP, todas son la misma expresión, 
// pero el lenguaje interpretará la úlima expresión:
echo("Eres perla..."); 
ECHO("que surgiste..."); 
EcHo("ta ta ta...");

// PERO ESTO DA ERROR: Se asigna valores con signo =
// $ciudad: "Guayaquil";
// $CIUDAD: "Guayaquil";
// $CiUDad: "Guayaquil";

// LO CORRECTO ES
// Para PHP, son diferentes variables
$ciudad= "Guayaquil";
$CIUDAD= "Guayaquil";
$CiUDad= "Guayaquil";

// Requiere finalizar con punto y coma
$ciudad = "Guayaquil";

// Sentencias de control
// NO requieren terminar con punto y coma 
if($ciudad){ echo $ciudad; }
if($ciudad == "Machala"){ echo "No son lo mismo"; }

// Otras formas de comentarios son

/* Comentario muy muy muuuuy muy muuuuy 
Comentario muy muy muuuuy muy muuuuy
Comentario muy muy muuuuy muy muuuuy
Comentario muy muy muuuuy muy muuuuy
Comentario muy muy muuuuy muy muuuuy
Comentario muy muy muuuuy muy muuuuy */

////////////////////////
// Ojito este comentario
////////////////////////

#######################
## Ojito este comentario
#######################

########## HOLI!! #############

# HOLI!!

#.......HOLI!!

$variable = 2025; #.......HOLI!!
?>

En la siguiente sección seguimos con los tipos de datos y otros varios conceptos del lenguaje PHP.