Codificación aprenderaprogramar.com: CU00733B
GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP.
Hasta ahora hemos generado documentos HTML escribiendo en un archivo de texto código HTML que guardábamos como archivo con extensión .html. Hemos visto también que “embebido” en HTML puede ir código Javascript y código CSS. Vamos a ver ahora una forma muy utilizada para generar webs HTML basada en el uso del lenguaje de programación PHP.
En su momento indicamos que el flujo de información entre un ordenador en nuestra casa con conexión a internet y un servidor era algo así:
La petición de una página web tendría como respuesta “código HTML” interpretable por el navegador instalado en nuestro ordenador. Ahora bien, el código HTML obtenido como respuesta puede provenir de un archivo con extensión .html alojado en el servidor, pero también puede ser generado por el servidor de otra manera. Esa otra manera es la que mostramos en la siguiente imagen:
Este esquema es un poco más complicado y supone que no existe un archivo .html que contiene el código html directamente, sino que existe un archivo .php con “cierto contenido” que el servidor se encarga de interpretar y una vez interpretado envía código HTML a nuestro ordenador.
En ambos casos nuestro ordenador recibe código HTML, pero en un caso proviene de un archivo y en otro caso ha sido generado mediante un proceso intermedio que tiene lugar en el servidor.
PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que puede ser incrustado en HTML. Es popular porque un gran número de páginas y portales web están creados con PHP. Código abierto significa que es de uso libre y gratuito para todos los programadores que quieran usarlo. Incrustado en HTML significa que en un mismo archivo vamos a poder combinar código PHP con código HTML, siguiendo unas reglas. Nosotros en este curso no vamos a estudiar PHP. Si tienes interés en este lenguaje te recomendamos el curso de PHP de aprenderaprogramar.com disponible en esta URL: http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193
En este curso simplemente vamos a dejar constancia de que PHP y HTML son lenguajes que van muy unidos, realmente millones de sitios webs utilizan PHP con HTML. Aunque PHP y HTML son cosas distintas, están muy relacionados. Por eso hemos considerado conveniente al menos hacer referencia a PHP dentro de un curso de HTML, siendo nuestro objetivo divulgativo. No es necesario que trates de ejecutar el código de ejemplo que iremos viendo, simplemente lee y trata de captar las ideas.
Los archivos con extensión PHP son archivos que se alojan en el servidor y que una vez invocados a través del navegador (p.ej. http://www.aprenderaprogramar.com/index.php) dan lugar a que el servidor los procese y devuelva código HTML (una página web) a nuestro ordenador.
El código PHP se introduce dentro de etiquetas <?php como apertura y ?> como cierre. Esto sería un ejemplo de código PHP, que sería un texto creado con un editor como Notepad++ y guardado con extensión .php.
<?php echo "Esto es código PHP."; ?> |
Ten en cuenta que un archivo .php no puedes verlo directamente en tu navegador porque estos archivos necesitan un procesado previo (que se realiza en los servidores).
Cualquier archivo PHP puede estar definido como documento HTML con fragmentos de código PHP intercalados. Por lo tanto, podríamos crear código HTML y luego intercalar aquellos fragmentos necesarios de código PHP. Otra forma de trabajar consiste en definir un documento completamente como código PHP donde se imprime desde el propio código PHP el código HTML que necesitemos. Pondremos ejemplos para entender lo que hemos indicado.
Por ejemplo, para el primero de los casos, veamos un código de ejemplo que pudiera ser un archivo como ejemplo1.php. Vamos a definir código HTML donde vamos a intercalar algunos fragmentos en PHP. Ten en cuenta que el archivo no se puede guardar con extensión html si contiene fragmentos de php, tendríamos que guardarlo con extensión php.
<html> <head> <title>HTML con PHP – aprenderaprogramar.com</title> </head> <body> Esto es una página HTML con código PHP incrustado. <br /> <?php echo "Esto es código PHP incrustado." ?> </body> </html> |
Si solicitáramos a un servidor que nos muestre esta página, la visualizáramos en nuestro navegador y le pidiéramos a éste que muestre el código fuente, el código generado es código HTML. Es decir, aunque en el archivo ejemplo1.php exista código PHP, después de que el intérprete PHP haya procesado el código PHP de la página todo lo que devuelve el servidor es código HTML. Si visualizáramos la página en sí, comprobaríamos que no podemos distinguir qué texto ha sido creado como HTML y qué texto proviene de una instrucción echo (instrucción para imprimir por pantalla) de PHP. ¿Por qué? Porque el intérprete PHP se encarga de transformar el código PHP en HTML y eso es lo que podemos ver en nuestro navegador. En nuestro navegador no podemos ver el código fuente PHP porque ese código no nos llega. Nos llega el código ya transformado en HTML.
Para el segundo de los casos vamos a suponer que el código se encuentra en un archivo llamado 'ejemplo2.php'. En esta ocasión todo el contenido va a aparecer dentro de etiquetas de PHP como si fuera PHP y usaremos una instrucción echo para indicarle al intérprete que devuelva como HTML todo el contenido dentro de esa instrucción.
<?php echo " <html> <head> <title>HTML con PHP – aprenderaprogramar.com</title> </head> <body> Esto es una página HTML generada con código PHP incrustado. </body> </html> "; ?> |
Si pedimos al navegador que nos muestre el código fuente, el resultado es igualmente código HTML: no veremos código PHP. No obstante, en esta ocasión el código HTML lo hemos incrustado dentro de código PHP mediante una instrucción echo.
Si visualizáramos la página 'ejemplo2.php' en nuestro navegador, el resultado obtenido sería que se muestra por pantalla: “Esto es una página HTML generada con código PHP incrustado”. Podríamos preguntarnos: si la instrucción echo es para imprimir por pantalla, ¿por qué no se muestra por pantalla <html> <head> … etc. etc. ? El motivo es que el intérprete PHP está preparado para considerar que todo código asimilable a HTML dentro de una instrucción echo no debe ser mostrado por pantalla como si se tratara de texto, sino que debe ser transformado en código HTML. Por este motivo la salida por pantalla no muestra las etiquetas. Si quisiéramos mostrar ese contenido como texto tendríamos que hacer uso de “caracteres de escape” que no vamos a explicar ahora.
¿Qué opción es mejor? ¿Definir los documentos como HTML e incrustar fragmentos de PHP ó definir los documentos completamente como PHP? En principio podemos decir que ambas opciones son válidas, por tanto los desarrolladores web hacen uso de ambas posibilidades. Ahora bien, nosotros recomendaremos al menos inicialmente usar la definición de documentos como código HTML donde incrustaremos el código PHP. Los motivos por los que recomendamos esto son:
- Mayor claridad, lo que facilita la interpretación de código a personas que tengan que revisarlo o leerlo.
- En muchos editores se diferencian por colores los tipos de código. Si tenemos código HTML separado del código PHP la diferenciación será clara y útil. En otro caso, no podremos diferenciar un código de otro.
- Es el estándar más ampliamente usado por los programadores y desarrolladores web, lo que no quiere decir que en algunos casos no se escriba código de la otra manera.
MÁS ALLÁ DE HTML
Para trabajar en creación y programación web podemos decir que es obligatorio conocer y saber usar HTML, ya que este lenguaje es la base misma de los desarrollos web actualmente. Pero podemos hacernos otra pregunta: ¿es obligatorio saber PHP? La respuesta es que no. Sin embargo, una vez tengamos unos conocimientos básicos bien asentados de HTML es lógico pensar en progresar como desarrolladores o programadores web. Para ello necesitaremos aprender un lenguaje de programación que nos permita realizar cosas que HTML no permite, como la interacción con bases de datos o realizar cálculos o procesos que requieren de programación. HTML es un lenguaje muy limitado y no es suficiente con saber HTML para poder crear páginas web atractivas hoy día. Las páginas web se suelen basar en HTML combinado con otros lenguajes como Javascript, CSS y un lenguaje de programación que interacciona con bases de datos, que puede ser PHP u otro.
Existen distintos lenguajes de programación web que nos permitirían progresar como programadores, como PHP, JSP, ó ASP.NET entre otros. PHP es uno de los lenguajes más populares, es gratuito, muy potente y usado por millones de servidores en todo el mundo. En este curso no vamos a profundizar en PHP ni en ninguno de los otros lenguajes, pero dada la estrecha relación de PHP con HTML y su interés para personas que quieran seguir progresando como desarrolladores web, hemos creído de interés realizar una introducción a este lenguaje.
La realidad es que la programación web requiere el conocimiento de diferentes lenguajes. En las grandes empresas, suelen existir especialistas para cada una de las ramas de la programación web (por ejemplo especialistas en HTML, en JavaScript, en CSS, en lenguajes como PHP u otros, etc.).
Si tienes interés en saber cuáles son los lenguajes y conocimientos que se utilizan hoy en día en los desarrollos web, dónde encontrar cursos relacionados con esos conocimientos y cuál podría ser un plan formativo para un programador web, te recomendamos que leas este interesante artículo: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=702:ique-es-y-que-estudiar-para-ser-programador-web-itinerario-de-formacion-plan-de-estudios-o-de-carrera&catid=39:orientacion-academica&Itemid=189
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.