# 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 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 navegador el resultado final.

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>
    <?php
    print "Hola";
    ?>
    </p>
| <p>Hola</p>
    <?php
    print "<p>";
    ?>
    Hola
    <?php
    print "</p>";
    ?>
| <p>Hola</p>

Si en una misma página hay varios fragmentos PHP, se tratan como un único programa.

    <?php
    $saludo = "Hola";         // Se define una variable
    print "<p>$saludo</p>";   // Se escribe el valor de la variable
    ?>
| <p>Hola</p>
    <?php
    $saludo = "Hola";         // Se define una variable
    ?>
    <p>
    <?php
    print "$saludo";         // Se escribe el valor de la variable
    ?>
    </p>
| <p>Hola</p>

## Comentarios

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

- // para comentar el resto de la línea (como en C++)
- # para comentar el resto de la línea (como en la shell de Unix o en Perl)
- /* */ para delimitar varias líneas (como en C)

    <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>
    <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>

Volver al principio de la página

## 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

Esta obra está bajo una licencia de Creative Commons.