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í\n"); ?>
2. <? echo ("esta es la más simple, una instrucció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.