2011-10-25 9 views
8

Estoy instalando Symfony2 framework por primera vez y la pantalla de configuración web dice que apague las etiquetas cortas de php. ¿Hay alguna razón para esto además de los argumentos que entran en conflicto con xml o la incompatibilidad del servidor? ¿Algún problema específico para Symfony?¿Por qué Symfony recomienda desactivar php_short_tags

Respuesta

12

En mi humilde opinión, no dude en habilitar short_open_tag si lo prefiere, y es seguro ignorar esta advertencia emitida por Symfony. Diablos, recomendaría eliminar el cheque por completo.

Los dos posibles problemas que citan son los únicos problemas teóricos que pueden surgir al utilizar etiquetas abiertas cortas, pero en la práctica esto nunca ha sido un problema para mí en mis 10 años desarrollando aplicaciones PHP.

Incluso en aplicaciones pesadas en XML, es poco probable que tenga un encabezado XML analizado por PHP en más de unas pocas ubicaciones, y en esas pocas ocasiones el problema se elude fácilmente, por ejemplo haciendo eco del encabezado XML en sí. En esta era posterior a XHTML, es aún más improbable que desarrolles aplicaciones web con un encabezado XML en una plantilla de PHP. Un argumento discutible para comenzar.

Por lo que respecta a la configuración del servidor, incluso el alojamiento web promedio compartido permite modificar la configuración de PHP estos días, y esta configuración en particular puede configurarse en tiempo de ejecución en la posibilidad remota que no se puede. ¿Y quién está implementando las aplicaciones de Symfony en un hosting compartido de todos modos?

Las etiquetas de apertura corta necesitan un poco de cariño, y están obteniendo algunas en PHP 5.4, donde la sintaxis de eco (<?= ?>) se habilitará independientemente de la configuración short_open_tag. Además, a pesar de lo que algunos puedan decir, las etiquetas cortas no son en modo alguno una característica de PHP obsoleta, y han llegado para quedarse.

Si usa plantillas PHP, y prefiere la sintaxis de las etiquetas cortas, ¡adelante!

4

AFAIK, no hay nada específico en Symfony 1 o 2 que se rompa si usa etiquetas cortas, pero hablando por experiencia personal, no valen la pequeña cantidad de tipeo que le ahorran. Menciona dos quejas válidas: conflictos XML e incompatibilidad del servidor. Esas son razones suficientes para no usarlas. Mover proyectos de un servidor a otro y tener que reemplazar las etiquetas cortas es una molesta pérdida de tiempo :)

+0

¿De qué conflictos está hablando? –

+1

Bien después de pasar a la página siguiente de la introducción, me di cuenta de que Symfony usa su propio sistema de plantillas. ¿Entonces supongo que usar etiquetas cortas de php realmente no se usa de todos modos? ¿Correcto? – dardub

+0

Supongo que el motor de plantillas twig es opcional. – dardub

2

En general, es nunca es una buena idea usar short_tags principalmente debido a la incompatibilidad del servidor.

Incompatibilidad servidor

No todos los servidores de PHP ha permitido short_tags. Por lo tanto, si utiliza etiquetas cortas en cualquier parte de un proyecto, y algún día en el futuro se colocará en un servidor con etiquetas cortas deshabilitadas, su sitio ahora está roto. Tienes que ir a través de tu código y buscar/reemplazar o habilitar etiquetas cortas en el servidor, que quizás no tengas la autoridad para hacerlo de todos modos.

Symfony

Symfony hace varios Best Practice sugerencias. No son necesariamente cosas que harán o romperán el desarrollo usando Symfony, pero son buenas prácticas que siguen muchos desarrolladores profesionales. No usar short_tags es algo bueno para poner en práctica.

De todos modos, todas las etiquetas cortas realmente lo ayudan a no tener que escribir algunos caracteres adicionales de vez en cuando.Si realmente le preocupa escribir caracteres adicionales, realmente debería usar un IDE o Editor de texto que admita fragmentos, como Sublime Text.

+0

Simplemente siento que hace que la plantilla de php se vea mucho más limpia que tener que usar . Por qué no intentar avanzar mejorando php en lugar de obstaculizarlo por problemas menores que pueden resolverse fácilmente. – dardub

+0

El problema puede no ser tan fácil de modificar en profundidad en el código PHP como se podría pensar. –

+0

Quise decir que las complicaciones que mencionas, como la compatibilidad del servidor, generalmente se pueden resolver fácilmente editando php.ini. – dardub

Cuestiones relacionadas