Directiva php short open tag

Sabemos que para que el intérprete de PHP reconozca el código que debe interpretar, tenemos que encerrarlo entre los tags <?php y ?>, ya que de lo contrario, se mostrará como código HTML y aparecerá incrustado en la Web el código PHP, con los problemas que todo esto puede ocasionar.

Sin embargo, con la directiva PHP short open tag se permite que el intérprete acepte cualquier línea de código que se encuentre entre los tags <? y ?>, esto es, sin usar la palabra php después del tag de apertura.

Configurar la directiva php short open tag

  1. Acceder al fichero de configuración de PHP: php.ini
  2. Buscar la directiva php: short open tag (aparecerá como short_open_tag)
  3. Si su valor es ‘Off’ quiere decir que la directiva no está activada y que por lo tanto el código PHP se deberá encerrar entre <?php y ?>. Si por el contrario su valor es On, significará que la directiva está activada y por tanto podremos escribir código a interpretar entre <? y ?>, pero también entre los tags anteriores.
  4. Guardar el fichero con la nueva configuración.
  5. Reiniciar Apache

Recomendaciones sobre la directiva php short open tag

Pese a lo cómodo que puede parecer utilizar esta directiva, en un artículo de la misma página oficial de PHP se desaconseja su uso por defecto debido a que necesita realizarse una configuración que no suele aparecer en la configuración base de los servidores.

Si se quiere utilizar XML junto con PHP, la activación de esta directiva ocasiona problemas, ya que no se podrá utilizar el encapsulado <?xml ?>, aunque se puede optar por usar lo siguiente:

XML con directiva php: short open tag

Una recomendación añadida sobre el uso de los tags de apertura y cierre de código de PHP, es que si uno de los ficheros de tu aplicación contiene código PHP puro (funciones, clases…), es preferible omitir la etiqueta de cierre de PHP al final del fichero, porque de este modo no se podrán añadir espacios en blanco o nuevas líneas después de la etiqueta de cierre de PHP. Estas líneas o espacios en blanco pueden causar efectos no deseados debido a que PHP iniciará la salida del buffer cuando no había intención por parte del programador de enviar ninguna salida en ese punto del script.

Si este post sobre la directiva short open tag te ha ayudado, también puede ayudar a otros, compártelo para que llegue a más personas.