Volver al índice Primeras páginas en PHP

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>

Crear páginas válidas

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

La instrucción

print "<?xml version='1.0' encoding='iso-8859-1'?>\n";

suele provocar problemas a los editores que colorean el código, como PsPad. PsPad cree que los caracteres ?> cierran el fragmento PHP y el código posterior ya no se colorea correctamente. Una solución es partir esa cadena:

print "<?xml version='1.0' encoding='iso-8859-1'?".">\n";

Volver al principio


Comentarios

Dentro de un fragmento PHP, se pueden comentar líneas de código utilizando:

<p><strong>
<?php
// La instrucción print escribe texto en la página web
print "Hola"; // El comentario se puede escribir al final de la línea
?>
</strong></p>
<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>
<p><strong>
<?php
# La instrucción print escribe texto en la página web
print "Hola"; # El comentario se puede escribir al final de la línea
?>
</strong></p>
<p><strong>Hola</strong></p>

Volver al principio

Autor: Bartolomé Sintes Marco
Última modificación: 26 de enero de 2007