Me he encontrado con esta etiqueta PHP <?= ?>
recientemente y soy reacio a usarla, pero pica tanto que quería tener tu opinión sobre ella. Sé que es una mala práctica usar etiquetas cortas <? ?>
y que deberíamos usar etiquetas completas <?php ?>
, pero ¿qué pasa con esta <?= ?>
:?
Ahorraría algo de tipeo y sería mejor para la legibilidad del código, IMO. Entonces, en lugar de esto:
<input name="someVar" value="<?php echo $someVar; ?>">
Podría escribirlo así, que es más limpio:
<input name="someVar" value="<?= $someVar ?>">
¿Usar este operador está mal visto?
echo
conduce muy fácilmente a XSS, y debería confiar mejor en el método de eco dedicado al contexto (es decir, tener un function html($x) { echo htmlentities($x,...); }
y un en html($someVar);
lugar de echo $someVar
o usarlo echo json_encode($x);
para el contexto JS). Esto hace que las <?=
etiquetas sean una mala práctica porque significa que se ha escapado HTML del contenido de la variable en otro lugar, y por lo que ese otro lugar debe saber mágicamente que esta variable tiene que ser escapado HTML porque se repite en el contexto HTML.