Sei sulla pagina 1di 10

Leccin 1: Cmo funciona el intrprete de PHP (Este es el captulo ms terico del curso, imprescindible para entender qu hace PHP).

NOTA: Para probar los ejercicios debs tener configurado tu propio software servidor web, tal como se explic en la Introduccin, o utilizar un hosting con soporte de PHP 4 o superior.

PHP es la sigla de "PHP: Hypertext Preprocessor", o sea, "Pre-procesador de Hipertexto marca PHP". Que sea un "pre"procesador, es lo que diferencia el proceso que sufren las pginas programadas en PHP, de aquellas pginas web estndar escritas slo en lenguaje HTML. Vamos a examinar cul es la diferencia entre el proceso de un archivo o pgina web "normal" (HTML) y el "pre" procesode un archivo o pgina escritos en lenguaje PHP.

-Proceso de archivos HTML: A) -Cul es el camino que sigue una pgina web estndar (HTML) desde que escribimos su direccin en nuestro navegador, hasta que la vemos? 1) Primero, el pedido de ver esa pgina "viaja" (imaginmoslo como si fuera una especie de e-mail que enviamos) desde nuestro navegador hasta la mquina que hospeda el archivo solicitado. El pedido de ver esa pgina no viaja solo, sino que va acompaado por un nmero que nos identifica inequvocamente (nuestra direccin IP). -Pensemos esto como un "delivery" de pizza: le decimos "de qu gusto" queremos, y "a qu direccin" nos la deben enviar.

2) Cuando el pedido llega a la mquina indicada, un programa que est corriendo en esa mquina llamado "servidor web" recibe el pedido, y va a buscar el archivo solicitado en el disco rgido. -Es el empleado de la pizzera que atiende al telfono y pasa el pedido a la cocina de la pizzera, indicando qu pizza hay que preparar.

3) Ese servidor web despacha, entrega o "sirve" (por eso lo de "servidor") el archivo al navegador que est esperando una respuesta en esa direccin IP que nos identificaba. -Sale la moto con la pizza caliente hacia nuestra casa.

4) Y finalmente nuestro navegador se encarga de "interpretar" lo que llega en ese archivo de slo texto, armando cada elemento (textos, tablas, colores) de esa pgina recibida en nuestra pantalla. -Vemos y nos comemos la pizza! Nuestro navegador tiene la capacidad de "entender" y descifrar archivos con extensin ".html" o ".htm".

-Hasta aqu, eso sucede cada vez que solicitamos ver un archivo HTML.

-Pre-proceso de archivos PHP: B) -Cul es el camino que sigue una pgina web cuya extensin es ".php" desde que escribimos su direccin en nuestro navegador, hasta que la vemos? Cuando la extensin del archivo solicitado es ".php", se introduce un elemento diferente en este circuito: 1) Hacemos el pedido de ver una pgina "cualquiera.php" desde nuestro navegador; 2) el servidor web recibe nuestro pedido, y de inmediato "se da cuenta" de que el archivo solicitado tiene extensin ".php", y por lo tanto le deriva el pedido a otro software que est encendido en esa mquina hosting; ese programa se llama software "intrprete de PHP" (es una especie de "ser mgico" cuya presencia es difcil intuir, y que debemos comprender que "est ah" para poder programar correctamente en PHP!). 3) Este programa intrprete de PHP busca en el disco rgido del hosting el archivo que fue solicitado, y comienza a leer su cdigo, buscando determinadas "marcas", etiquetas o tags, que indican que desde ese momento "le estn dando rdenes" a ese software intrprete de PHP; cuando encuentra estas "rdenes", ejecuta esas rdenes, y reemplaza todas las rdenes que estaban entre la apertura y el cierre del tag PHP por el resultado de esas rdenes.

Por ejemplo, podramos imaginar que en una de esas rdenes le hemos dejado dicho al intrprete de PHP que averige la fecha actual y la escriba en ese lugar exacto donde le dejamos la orden. La orden que le dejamos ser borrada del cdigo fuente, y en su lugar quedar escrita la fecha, que es lo que le pedimos que escriba. No se dice as de simple y en castellano, pero es parecido!... As que no hagan la prueba de ejecutar esto, es solo para dar una idea:

<?php Ey software de PHP, escrib la fecha actual aqu! ?>

4) El software de PHP ejecuta ese pedido que le hicimos, y finalmente, enva slo cdigo HTML al navegador, que lo interpreta como si ste cdigo HTML que incluye la fecha hubiera estado escrito all desde siempre:

1 de Enero de 2025

En el cdigo fuente que le llega al navegador, no vemos ningn rastro de la orden que habamos escrito para el software de PHP, este software se ocup de "borrarla" para que nadie la vea, y en el lugar donde habamos escrito la orden,coloc "el resultado de ejecutar esa orden", es decir, la fecha que le habamos pedido que escriba.

Entonces: le dejamos rdenes (que casi siempre tienen que ver con que el software de PHP obtenga cierta informacin, como la fecha) y esas rdenes suelen decirle que "haga algo" con esa informacin, tpicamente, QUE ESCRIBA esa informacin en el cdigo fuente de la pgina que est por ser enviada al navegador del usuario.

Video: Introduccin a PHP Antes de abrir el video, te sugiero pulsar F11 para que tu navegador quede maximizado. La resolucin mnima para ver este video es de 1024 x 768 pxeles. ATENCION: La contrasea a ingresar para ver este video es: saberwebPHP1 Seleccionala y copiala, para pegarla en la siguiente ventana que se va a abrir.

El video pesa ms de 5 megas, por lo cual puede tardar un par de minutos en descargarse, podrs ver la barra de progreso mientras se descarga. Cualquier duda sobre los conceptos del video, pods preguntar al docente por email lo que te interese aclarar.

HACE CLICK AQUI PARA VER EL VIDEO

Parte prctica: Vamos a crear y probar nuestro primer archivo en PHP: 1) -Seleccion y copi el siguiente cdigo, pegndolo luego dentro de un archivo nuevo creado con el editor de tu preferencia (Dreamweaver, tpicamente, en "vista de cdigo"), asegurndote de guardarlo con extensin ".php", por ejemplo: "hola.php". Este es el cdigo de "hola.php":

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es"> <head> <title>Hola</title> </head> <body> <p>Esto estaba escrito en HTML.</p> <?php print("<p>Hola mundo! Esto lo escribi el intrprete de PHP</p>"); ?> </body> </html>

Este archivo deber ser guardado dentro de la carpeta raz del servidor instalado, por ejemplo, quienes utilicen el easyPHP podran crear una carpeta y colocarlo en:

C:/Archivos de Programa/easyPHP/www/ejercicio/hola.php
2) -Encend el software servidor web (si instalaste el easyPHP tendrs que ir al men Inicio -> Todos los Programas -> EasyPHP -> EasyPHP y luego minimizar la ventana que aparece, no hay que cerrarla porque se apagara el servidor, solo minimizarla). El software servidor web quedar a la espera de que le pidamos a travs de un navegador (Explorer, Firefox, Opera) alguno de los archivos que tiene listos para servirnos, en este caso ser el archivo "hola.php" el que le pediremos. 3) -Abrimos el navegador (Explorer, Firefox, Opera o cualquier otro) y escribimos la URL necesaria para solicitarle al servidor web el archivo "hola.php". Este es un tema "crucial". ATENCION: no funciona ir al men "Archivo -> Abrir", ya que necesita ser procesado por el intrprete de PHP que corre en el servidor web, el cual debe estar encendido). Tampoco funciona, para quienes usen Dreamweaver, pulsar "F12", por la misma razn. Ni tampoco funciona darle "doble click" al archivo. En todos esos casos errneos, si miran la URL, no mencionar en ningn lado http://localhost/ejercicio/hola.php por lo cual el software servidor web y el intrprete de PHP NO PROCESARAN EL ARCHIVO.

En una PC con un servidor web local deberemos escribir:

http://localhost/ejercicio/hola.php
o bien:

http://127.0.0.1/ejercicio/hola.php

Cuando este archivo llegue a nuestro navegador, si accedemos al cdigo fuente que le lleg a nuestro navegador (usando el men: "Ver -> Cdigo fuente") veremos que le ha llegado lo siguiente:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es"> <head> <title>Hola</title> </head> <body> <p>Esto estaba escrito en HTML.</p> <p>Hola mundo! Esto lo escribi el intrprete de PHP</p> </body> </html>

Es decir, que el intrprete de PHP "borr" todas las rdenes que encontr entre las marcas <?php y ?>, que son las que indican el comienzo y el fin -respectivamente- de una zona en la que se va a dar rdenes al intrprete de PHP, y en lugar de lo que haba escrito all, escribi mediante la funcin print (que ya analizaremos en la prxima leccin) el texto "<p>Hola mundo! Esto lo escribi el intrprete de PHP</p>".

Este ejemplo nos revela varias conclusiones: 1) Nuestros archivos deben llevar la extensin .php para que el intrprete los procese; podemos probar qu pasa si no le ponemos ese nombre: creemos una copia del archivo "hola.php" y guardmoslo como "hola.html". Veremos en nuestro navegador el cdigo completo tal como lo programamos, sin procesar, ya que el servidor no se lo "pasa" nunca al software intrprete de PHP. Es clave ponerle extensin ".php" a nuestros archivos de ahora en ms, aunque por dentro seguirn siendo archivos HTML o XHTML comunes. TIP: Si no ves la extensin de tus archivos, probablemente sea porque tu sistema operativo te lo est escondiendo. Eso se soluciona as: Abr el programa "Mi PC" y entr al men "Herramientas", "Opciones de carpeta...", y puls en la solapa "Ver". Vas a ver algo como lo que muestra la siguiente imagen:

Asegurate que est sin tildar la opcin que dice "Ocultar las extensiones de archivo para tipos de archivo conocidos".Que NO est tildada, que quede VACIO el cuadrito de seleccin. Luego, puls "Aceptar" y ya vers las extensiones de los archivos.

2) Otra conclusin es que debemos acceder a estos archivos PHP a travs de un servidor web. Recordar encenderlo, y solicitarle ver los archivos ".php" haciendo que el navegador se lo solicite al servidor, mediante la URL:

http://localhost/la-carpeta-que-sea/el-archivo-quesea.php
3) Se pueden intercalar rdenes en lenguaje PHP alternndolas dentro de una pgina escrita en lenguaje HTML, tantas veces como sea necesario (pueden abrirse y cerrarse los tags de PHP tantas veces como querramos). Por ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es"> <head> <title>Hola</title> </head> <body> <h1>Esto estaba escrito en HTML.</h1> <?php print("<h2>Hola mundo! Esto lo escribi el intrprete de PHP</h2>"); ?> <p>Esto estaba escrito en HTML.</p> <?php print("<p>Esto tambin lo escribi el software intrprete de PHP</p>"); ?> <a href="index.php"><?php print("Volver a la Home del sitio"); ?></a> </body> </html>

Notar que: el tag de PHP puede abrirse y cerrarse en distintas lneas, o en una sola. Puede INTERCALARSE dentro de tags HTML. Y puede abrirse y cerrarse muchas veces dentro de una misma pgina.

Los tags de apertura y cierre son los siguientes: <? ?> Fue muy usado en el pasado, pero no es estndar. No todas las configuraciones del intrprete de PHP habilitan su uso. No se recomienda PARA NADA usarlo! <?php ?> El ms universal: funciona siempre. Es la nica forma recomendada, ya que funciona siempre. USEN ESTE!! <script language="php"> </script> Solo quienes utilicen versiones muy antiguas de FrontPage como editor (porque no reconoce al resto de los tags) podran usarlo; si no, no se recomienda en absoluto. Es prehistrico! <% %> Estilo ASP, no es estndar, depende de la configuracin del intrprete, por lo tanto no se recomienda para nada. 4) La funcin print (que an no vimos, pero ya podemos adivinar qu hace) "escribe" en el cdigo de la pgina que est por enviarse instantes despus al navegador del usuario, y escribe no slo texto, sino tambin tags de HTML como el "<p>" o "<h1>" del ejemplo, tags que luego son interpreta

IDEA CLAVE DEL CURSO: Uno de los principales usos de PHP es "generar texto y cdigo HTML"en el acto, instantes antes de que el servidor web enve la pgina hacia el navegador del usuario.
Esto, que parece simple, es fundamental para crear pginas web "dinmicas" (con contenidos que "segn la ocasin" pueden ser distintos automticamente). Con estas ideas, lleg el momento de pasar a la accin!

Potrebbero piacerti anche