2009-12-24 14 views
5

cuál es el significado de esta línea¿Qué significa <? = Mean?

<input type=text name="name" value="<?= $name ?> 

si vamos a declarar como PHP no debemos escribir <?php instead of <?=

Gracias

+1

Posible duplicado de [¿Qué significa ' j08691

Respuesta

15

<?= son etiquetas PHP cortas abiertas, que se pueden activar (o discapacidad) a través de la directiva short_open_tag en php.ini(citando):

Esta directiva también afecta a la abreviada <?=, que es idéntica a <? echo. El uso de este atajo requiere que short_open_tag sea on.

Y:

También si está desactivada, deberá utilizar el forma larga de la etiqueta abierta PHP (<?php ?>).

Esto significa que su porción de código:

<input type=text name="name" value="<?= $name ?> 

es equivalente a la siguiente:

<input type=text name="name" value="<?php echo $name; ?> 

Pero sólo cuando las etiquetas cortas abiertas están habilitadas.

Y, como nota al margen: las etiquetas de apertura corta no siempre están habilitadas; de hecho, están deshabilitadas por defecto, con las versiones más recientes de PHP.

Lo que significa que puede ser conveniente no depender de ellos, al menos si desea implementar su aplicación en servidores en los que no es administrador.

+0

Acepto, depender de etiquetas cortas es pedir un corazón roto cuando se implementa en un servidor que está configurado para no permitirlas :) –

+0

En defensa de las etiquetas cortas, son invaluables si usa PHP como su propia capa de plantillas. Además, se puede configurar PHP_INI_PERDIR, es decir, en .htaccess por aplicación. –

+1

"

3

usando las etiquetas cortas se generalmente mal visto hoy en día, pero todavía es una opción en el php.ini. Está bien, es un estilo de codificación pobre y tiene algunas repercusiones si usas varios lenguajes dinámicos.

+0

Sin mencionar que las etiquetas cortas están en desuso a partir de php6 – Matt

+0

Teniendo en cuenta que PHP 6 está lejos de haber terminado (ni siquiera está en la etapa alfa todavía), las cosas pueden cambiar, incluso si probablemente no lo hará para este punto específico. –

+1

PHP6? ¿quien? ¿Qué? ¿dónde? cuando? – gahooa