Un documento PHP es un archivo de texto que contiene etiquetas html y segmentos de código PHP. Los segmentos de código PHP están delimitados por las etiquetas <?php (etiqueta inicial) y ?> (etiqueta final).
Cuando un cliente (por ejemplo, un navegador) solicita una página PHP a un servidor, el servidor lee el documento y ejecuta las instrucciones que se encuentran en los segmentos de código PHP. Si esas instrucciones generan texto, el servidor sustituye el segmento PHP por el texto. Finalmente, el servidor entrega al cliente el resultado final (si el cliente es un navegador, el navegador mostrará la página web).
El ejemplo siguiente muestra un documento PHP que simplemente genera un párrafo.
<?php print "<p>Hola</p>"; ?> |
<p>Hola</p> | Hola |
En un mismo documento PHP pueden alternarse fragmentos PHP y fragmentos HTML. Los dos ejemplos siguientes generan el mismo código HTML.
<p><strong> <?php print "Hola"; ?> </strong></p> |
<p><strong>Hola</strong></p> |
<?php print "<p><strong>"; ?> Hola <?php print "</strong></p>"; ?> |
<p><strong>Hola</strong></p> |
Para que el resultado final sea una página web válida, el documento PHP debe incluir o generar todo el código HTML necesario, incluidas las etiquetas generales. El ejemplo siguiente genera una página válida mediante un único fragmento PHP.
<?php print '<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Prueba</title> </head> <body> <p>Hola</p> </body> </html>'; ?> |
Hola |
El código HTML puede estar fuera de un fragmento PHP, salvo la instrucción xml de la primera línea, que podría dar problemas dependiendo de la configuración del servidor (si la directiva short_open_tags está establecida en On). El siguiente ejemplo, en el que se intercalan varios fragmentos PHP, no daría problemas:
<?php print "<?xml version='1.0' encoding='iso-8859-1'?>\n"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <?php print "<title>Prueba</title>\n"; ?> </head> <body> <?php print "<p>Hola</p>\n"; ?> </body> </html> |
Hola |
Dentro de un fragmento PHP, se pueden comentar líneas de código como en C++, es decir, utilizando // para comentar una línea o /* */ para delimitar varias líneas.
<p><strong> <?php // La instrucción print escribe texto en la página web print "Hola"; |
<p><strong>Hola</strong></p> |
<?php print "<p><strong>"; /* Dentro de un fragmento PHP no se pueden escribir etiquetas html sueltas, tienen que estar siempre incluidas en instrucciones print */ ?> Hola <?php print "</strong></p>"; ?> |
<p><strong>Hola</strong></p> |