Sintaxis b谩sica

Cap铆tulo 10. Sintaxis b谩sica

Tabla de contenidos
Saliendo de HTML
Separaci贸n de instrucciones
Comentarios

Saliendo de HTML

Para interpretar un archivo, php s铆mplemente interpreta el texto del archivo hasta que encuentra uno de los car谩cteres especiales que delimitan el inicio de c贸digo PHP. El int茅rprete ejecuta entonces todo el c贸digo que encuentra, hasta que encuentra una etiqueta de fin de c贸digo, que le dice al int茅rprete que siga ignorando el c贸digo siguiente. Este mecanismo permite embeber c贸digo PHP dentro de HTML: todo lo que est谩 fuera de las etiquetas PHP se deja tal como est谩, mientras que el resto se interpreta como c贸digo.

Hay cuatro conjuntos de etiquetas que pueden ser usadas para denotar bloques de c贸digo PHP. De estas cuatro, s贸lo 2 (<?php. . .?> y <script language="php">. . .</script>) est谩n siempre disponibles; el resto pueden ser configuradas en el fichero de php.ini para ser o no aceptadas por el int茅rprete. Mientras que el formato corto de etiquetas (short-form tags) y el estilo ASP (ASP-style tags) pueden ser convenientes, no son portables como la versi贸n de formato largo de etiquetas. Adem谩s, si se pretende embeber c贸digo PHP en XML o XHTML, ser谩 obligatorio el uso del formato <?php. . .?> para la compatibilidad con XML.

Las etiquetas soportadas por PHP son:

Ejemplo 10-1. Formas de escapar de HTML

1.  <?php echo("si quieres servir documentos XHTML o XML, haz como aqu&iacute;\n"); ?>

2.  <? echo ("esta es la m&aacute;s simple, una instrucci&oacute;n de procesado SGML \n"); ?>
    <?= expression ?> Esto es una abreviatura de "<? echo expression ?>"

3.  <script language="php">
        
echo ("muchos editores (como FrontPage) no
              aceptan instrucciones de procesado"
);
    
</script>

4.  <% echo ("Opcionalmente, puedes usar las etiquetas ASP"); %>
    <%= $variable; # Esto es una abreviatura de "<% echo . . ." %>

El m茅todo primero, <?php. . .?>, es el m谩s conveniente, ya que permite el uso de PHP en c贸digo XML como XHTML.

El m茅todo segundo no siempre est谩 disponible. El formato corto de etiquetas est谩 disponible con la funci贸n short_tags() (s贸lo PHP 3), activando el par谩metro del fichero de configuraci贸n de PHP short_open_tag, o compilando PHP con la opci贸n --enable-short-tags del comando configure. Aunque est茅 activa por defecto en php.ini-dist, se desaconseja el uso del formato de etiquetas corto.

El m茅todo cuarto s贸lo est谩 disponible si se han activado las etiquetas ASP en el fichero de configuraci贸n: asp_tags.

Nota: El soporte de etiquetas ASP se a帽adi贸 en la versi贸n 3.0.4.

Nota: No se debe usar el formato corto de etiquetas cuando se desarrollen aplicaciones o bibliotecas con intenci贸n de redistribuirlas, o cuando se desarrolle para servidores que no est谩n bajo nuestro control, porque puede ser que el formato corto de etiquetas no est茅 soportado en el servidor. Para generar c贸digo portable y redistribu铆ble, aseg煤rate de no usar el formato corto de etiquetas.

La etiqueta de fin de bloque incluir谩 tras ella la siguiente l铆nea si hay alguna presente. Adem谩s, la etiqueta de fin de bloque lleva impl铆cito el punto y coma; no necesitas por lo tanto a帽adir el punto y coma final de la 煤ltima l铆nea del bloque PHP.

PHP permite estructurar bloques como:

Ejemplo 10-2. M茅todos avanzados de escape

<?php
if ($expression) {
    
?>
    <strong>This is true.</strong>
    <?php
} else {
    
?>
    <strong>This is false.</strong>
    <?php
}
?>
Este ejemplo realiza lo esperado, ya que cuando PHP encuentra las etiquetas ?> de fin de bloque, empieza a escribir lo que encuentra tal cual hasta que encuentra otra etiqueta de inicio de bloque. El ejemplo anterior es, por supuesto, inventado. Para escribir bloques grandes de texto generamente es m谩s eficiente separalos del c贸digo PHP que enviar todo el texto mediante las funciones echo(), print() o similares.